简化版的 ps -ef | grep java
一切操作的基础,需要先获取进程号。
-l 参数,显示应用程序主类完整全路径
-v参数,列出应用程序启动时的JVM启动参数
查看JVM运气时期的一些状态信息。如查看类型的加载,垃圾回收等。主要用来看一段时间的GC及内存使用情况。
使用方式: jstat -gc 进程ID 时间 次数
每1s时间查看一次JVM的垃圾收集情况,一共查看10次对应的命令为:
jstat -gc xxx 1000 10
各项信息说明:
使用Jinfo可以在应用程序运行期间动态改变参数,如 开启打印GC日志:
jinfo -flag +PrintGC 进程Id
因为打印GC日志是需要消耗一定资源,为了不影响性能,一般都是关闭的,但是当出现问题的时候,就可以通过该命令打印GC日志信息。另外查看完毕后一定记得关掉。
生成堆快照信息,查看堆的内存使用信息。
jmap -heap < pid >
jmap -histo < pid >
显示每个class的实例数,及内存占用
jmap -histo:live pid 只显示存活的。
-dump 生成的堆转储快照
分析dump文件 jhat dump文件
分析线程状态信息。