jps(JVM Process Status Tool) :显示指定系统内所有的HotSpot虚拟机进程
- jps -l:正在运行的虚拟机进程ID和名称
- jps -p:正在运行的虚拟机进程ID
- jps -m:进程启动时,传递给主类main()的参数
- jps -v:进程启动时的JVM参数
jstat:虚拟机统计信息监视工具
- jstat -class 8560:类装载、卸载、占用空间及装载时间
- jstat -gc 8560:各个分区总容量、使用容量,GC次数及时间
- jstat -gcutil 8560:各个分区空间使用情况占比,GC次数及时间
- jstat -gccause 8560:会输出上次GC原因(LGCC)
- ...其他命令
jinfo:Java配置信息工具
- jinfo -flags 8560:JVM默认参数
- jinfo -sysprops 8560:打印进程的所有属性
jmap:Java内存映像工具
- 使用方式:jmap+option(选项)+进程ID
jstack:Java堆栈跟踪工具
- 使用方式: jstack+option(选项)+进程ID
- jstack -l 8560:long listings,会打印出额外的锁信息,在发生死锁时可以用jstack -l pid来观察锁持有情况
- jstack -m 8560:mixed mode,不仅会输出Java堆栈信息,还会输出C/C++堆栈信息(比如Native方法)
可视化工具
- JConsole
- VisualVM
注:工具是死的,我们要做的是根据工具提供的信息思考总结,这...才刚刚开始!
参考:
- 虚拟机性能监控和故障处理工具