2011-11-08 160 views
1

我试图以测试它的3箱运行骡子的内存使用:骡子和内存(RAM)使用

  • 一种情况是我有一个石英发电机创建一个事件,一个过滤器(在流程之后)总是停止(返回false) - 意味着流程绝对没有任何东西。

  • 在另一种情况下,我不只是使用的流向自定义对象发送到另一台计算机上运行的WCF服务(使用CXF端点)

  • 还可以使用过滤器,但是,我已经查了一下当我离开流程时,发生了这种情况,但放弃了wcf服务(意味着有很多套接字连接异常被抛出)。

我这样做是因为我正在构建一个大型应用程序,需要这种总线在任何时候都工作(一次数周)。

在所有这些情况下,mem的使用量不断增加。 (在几个小时后可能高达200mb RAM) 这可能发生的任何具体原因?在所有这些情况下,导致骡子需要更多记忆的原因是什么?

+0

在触发GC之前,150多MB的垃圾完全可能会导致JVM积累,特别是如果您要保持过程繁忙 - 通过加载测试或其他任何操作。这可能是你所看到的一部分吗? –

回答

1

关闭我的头顶我将坚持使用线程池惰性初始化作为此行为的解释。随着时间的推移和使用率的提高,线程池将完全初始化。

如果您想要证明证据,请看this方法或this one(with enableStatistics)。