java gc时自动收dump_Full GC分析:设置Java VM参数实现在Full GC前后自动生成Dump
本文講解了如何設(shè)置JavaVM參數(shù)實(shí)現(xiàn)在Full
GC前后自動(dòng)生成Dump。共有三個(gè)VM參數(shù)需要設(shè)置:
HeapDumpBeforeFullGC 實(shí)現(xiàn)在Full GC前dump。
HeapDumpBeforeFullGC 實(shí)現(xiàn)在Full GC后dump。
HeapDumpPath?設(shè)置Dump保存的路徑
設(shè)置這些參數(shù)的方法,這里總結(jié)了四種,大家可以根據(jù)情況選擇使用。
方法1:
啟動(dòng)jvm時(shí),帶上這些參數(shù)(這個(gè)方法適合開發(fā)測(cè)試環(huán)境)
Java?-Xms200m -Xmx200m -Xmn50m
-XX:PermSize=30m -XX:+HeapDumpBeforeFullGC -XX:+HeapDumpAfterFullGC
-XX:HeapDumpPath=e:\dump testgc.Main
方法2:
使用JConsole等工具調(diào)用JMX服務(wù)的com.sum.management.HotSpotDiagnostic.setVMOption方法來(lái)實(shí)現(xiàn)。
第一個(gè)參數(shù)為HeapDumpBeforeFullGC, 第二個(gè)參數(shù)為true表示在Full GC前進(jìn)行dump.
第一個(gè)參數(shù)為HeapDumpAfterFullGC, 第二個(gè)參數(shù)為true表示在Full GC前進(jìn)行dump.
方法3:
使用jinfo命令進(jìn)行設(shè)置。(生產(chǎn)環(huán)境常用的方法)
第一步,通過(guò)jps獲得java程序的pid
#jps?5940Main?3012 Jps
第二步,調(diào)用jinfo命令設(shè)置VM參數(shù)
#jinfo -flag
+HeapDumpBeforeFullGC?5940?#jinfo -flag
+HeapDumpAfterFullGC?5940
方法4:
開發(fā)程序調(diào)用JMX的API來(lái)實(shí)現(xiàn)
得到了Full GC前后的dump, 接下來(lái)就可以使用一些分析工具(如MAT)來(lái)分析Full GC產(chǎn)生的原因了。
總結(jié)
以上是生活随笔為你收集整理的java gc时自动收dump_Full GC分析:设置Java VM参数实现在Full GC前后自动生成Dump的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 切片_全面解读Python
- 下一篇: 最新Java开发毕业论文参考文献干货满满