又是tomcat記憶體請教

zhengyj98發表於2009-04-13
現有個很緊急的事情請教一下:

背景:專案在執行3幾天之後就出現java記憶體達到了1G的頂點(是透過windows的工作管理員看到java程式的記憶體為1G),然後報OutOfMemoryError。後來加入了log記錄heap記憶體的使用情況,發現heap會在某一個時間之後就快速增長,從幾十M到1G的過程大概是半個小時左右(按理應該不是某個動作造成的吧,一個動作不可能執行了半個小時之久才使記憶體暴漲並且jvm不會收)。

因此,我在程式碼中呼叫了System.gc(),並且執行了jprofiler4作監控,剛開始的兩、三天裡,heap都是處於低位平穩地執行,都在100M一下(多數為50M左右),我從自己寫的程式中也看到了notheap的記憶體只有幾十M,但是很奇怪的是:從windows工作管理員看到了java程式的記憶體逐步在升過,200多M、300多M、400多M這樣慢慢上升,真是覺得很奇怪,工作管理員的java程式是不是隻由heap+notheap組成的,為什麼會導致java程式的記憶體在逐步上升?敬請回復。情況緊急,指請教。

[該貼被admin於2009-04-14 15:03修改過]

相關文章