2011-11-08 161 views
1

我試圖以測試它的3箱運行騾子的內存使用:騾子和內存(RAM)使用

  • 一種情況是我有一個石英發電機創建一個事件,一個過濾器(在流程之後)總是停止(返回false) - 意味着流程絕對沒有任何東西。

  • 在另一種情況下,我不只是使用的流向自定義對象發送到另一臺計算機上運行的WCF服務(使用CXF端點)

  • 還可以使用過濾器,但是,我已經查了一下當我離開流程時,發生了這種情況,但放棄了wcf服務(意味着有很多套接字連接異常被拋出)。

我這樣做是因爲我正在構建一個大型應用程序,需要這種總線在任何時候都工作(一次數週)。

在所有這些情況下,mem的使用量不斷增加。 (在幾個小時後可能高達200mb RAM) 這可能發生的任何具體原因?在所有這些情況下,導致騾子需要更多記憶的原因是什麼?

+0

在觸發GC之前,150多MB的垃圾完全可能會導致JVM積累,特別是如果您要保持過程繁忙 - 通過加載測試或其他任何操作。這可能是你所看到的一部分嗎? –

回答

1

關閉我的頭頂我將堅持使用線程池惰性初始化作爲此行爲的解釋。隨着時間的推移和使用率的提高,線程池將完全初始化。

如果您想要證明證據,請看this方法或this one(with enableStatistics)。