Java VisualVM 偵測 Memory 使用狀況

摘要:Java VisualVM 偵測 Memory 使用狀況

這個問題,是用來偵測,是否沒用跟有用System.gc()真的有差?

 

而因為有程式,會瞬間爆量存取資料,寫入檔案動作,

但卻發現,程式執行過程,越執行越久,後來透過VisualVM,才發現,怎麼Memory越來越高,而且一直未被釋放(可能JVM是要等待時間才會釋放,或到大極限才願意釋放動作)

無耐,等他釋放的時間點到前,我的程式差不多就快陣亡了~~,

因此在每處理一萬筆資料的資訊,我就System.gc()一次。

 

結果一萬筆gc後的結果,比沒有gc的結果,使的系統穩定度更高,

原本可能第一次10秒,第二次20秒,第三次30秒,至十分鐘左右的執行時間,

當記憶體量越來越不夠時,他就越跑越慢,

因此,做了Gc後的結果,是每次大約10秒左右就結束了。

 

果然是Memory 有清有差。

 

如果使用VisualVM,

所先下載

http://visualvm.java.net/

 

然後執行後,

 

並執行你自己的程式,

然後,右方就會出現,自己的程式選項,然後選擇,就可以透過Monitor去監測CPU , Memory使用狀況