JVM常用调试工具介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013219624/article/details/89150271

1.jps

jps -q	只输出LVMID
jps -m	启动时main()的参数
jps -l	输出主类全名
jps -v	输出虚拟机进程启动时的参数

2.jstat

jstat -class LVMID 250 20				监视类装载卸载等信息
jstat -gc LVMID 250 20					监视堆状况信息
jstat -gccapacity LVMID 250 20			监视堆状况信息,主要是各个区域使用到的最大最小空间
jstat -gcutil LVMID 250 20				监视堆状况信息,主要是已使用的百分比
jstat -gccause LVMID 250 20				和-gcutil差不多,只不过会额外输出上一次GC产生的原因
jstat -gcnew LVMID 250 20				监视新生代
jstat -gcnewcapacity LVMID 250 20		监视堆状况信息,主要是新生代各个区域使用到的最大最小空间
jstat -gcold LVMID 250 20				监视老年代
jstat -gcoldcapacity LVMID 250 20		监视老年代,主要是各个区域使用到的最大最小空间
jstat -compiler LVMID 250 20			JIT编译过的方法
jstat -printcompilation LVMID 250 20	JIT编译过的方法

3.jinfo

jinfo LVMID		打印配置信息

4.jmap(堆信息)

jmap -dump:live,format=b,file=heap.bin 29494

5.jhat(分析jmap生成的文件)

jhat heap.bin
http://localhost:7000/

6.jstack

jstack -F LVMID		打印线程信息
jstack -l LVMID		除了堆栈外,显示关于锁的附加信息
jstack -m LVMID		如果调用本地方法的话,可以显示C/C++的堆栈

7.jconsole

JDK自带bin目录下,这个工具很简单,随便点点就可以知道起功能了

8.jvisualvm

visualvm功能比较强大,插件也比较多,值得好好研究。

猜你喜欢

转载自blog.csdn.net/u013219624/article/details/89150271