摘要:Java VisualVM 偵測 Memory 使用狀況
這個問題,是用來偵測,是否沒用跟有用System.gc()真的有差?
而因為有程式,會瞬間爆量存取資料,寫入檔案動作,
但卻發現,程式執行過程,越執行越久,後來透過VisualVM,才發現,怎麼Memory越來越高,而且一直未被釋放(可能JVM是要等待時間才會釋放,或到大極限才願意釋放動作)
無耐,等他釋放的時間點到前,我的程式差不多就快陣亡了~~,
因此在每處理一萬筆資料的資訊,我就System.gc()一次。
結果一萬筆gc後的結果,比沒有gc的結果,使的系統穩定度更高,
原本可能第一次10秒,第二次20秒,第三次30秒,至十分鐘左右的執行時間,
當記憶體量越來越不夠時,他就越跑越慢,
因此,做了Gc後的結果,是每次大約10秒左右就結束了。
果然是Memory 有清有差。
如果使用VisualVM,
所先下載
然後執行後,
並執行你自己的程式,
然後,右方就會出現,自己的程式選項,然後選擇,就可以透過Monitor去監測CPU , Memory使用狀況