工具
jvisualvm:工具就在jdk的bin文件夾裏
MemoryAnalyzer:https://pan.baidu.com/s/1b2VUea
正文
如果有大量的FGC就要查詢是否有內存泄漏的問題了,圖中的FGC數量就比較大,並且執行時間較長,這樣就會導致系統的響應時間較長,如果對jvm的內存設置較大,那麼執行一次FGC的時間可能會更長。
當出現這種問題的時候,我們可以先用jvisualvm監控heap,然後dump(倒出)出heap(堆)數據。
下面就來認識一下MemoryAnalyzer.exe。java內存泄漏檢查工具利器。
首先我們必須對jvm的堆內存進行dump,只有拿到這個文件我們才能分析出jvm堆內存中到底存了些什麼內容,到底在做什麼?
把.hprof這個文件放入MemoryAnalyzer中,進行解析,可以得到一份報告,這份報告裏面會詳細的介紹jvm內存中所做的事,根據這些信息我們可以去判斷是哪些對象導致的內存溢出。