一,jps
全称:java virtual machine process status tool
1.不带参数
默认列出VM表示符号和简单的class或者jar名称
与ps -ef|grep java (查看与java有关的进程信息,linux命令)对比:
对比结果:linux展示的信息中,没用jps进程
2.jps -m
输出主函数传入的参数
3.jps -l
查看程序所在的包名
二, jmap
1.jmap -heap pid
查看堆内存的配置情况以及使用情况
看堆的使用情况之前,复习一下jvm堆的内存分配:
注意此版本是jdk1.7的
配置信息参考: https://my.oschina.net/boltwu/blog/705127
java8 取消了永久代,成立了单独的空间,元数据空间。参考: https://www.cnblogs.com/paddix/p/5309550.html
2.jmap -histo pid
统计对象的创建数量。查看对内存的事情情况
顶部:
底部:
3.jmap -dump:format=b,file=heapDump pid
生成dump文件与jhat配合使用
4.jhat -port xxxx heapDump
浏览器访问localhost:xxx即可查看dump
以上命令参考: https://blog.csdn.net/qq_38071004/article/details/81004765
三,jstack
查看虚拟机dump信息,检查是否死锁
1.jstack pid
一般情况下,同构jstack输出的线测信息主要包括:jvm自身线测,用户线测,
重点是分析 里面的阻塞线测等的内容。
参考: https://www.cnblogs.com/snake23/p/10329149.html
四,jstat
JVM统计检测工具,比如cpu占用等,GC情况
五,jconsole
可视化工具,展示使用情况