天天看点

JVM性能监控故障处理工具

在JDK的bin目录里,自带有打包部署签名,调试监控等工具。

jps:虚拟机进程状态监控工具,和Linux里的PS命令类似,可以列出正在运行的虚拟机进程,并显示执行的主类(main方法所在类)。

jstat:虚拟机统计信息监控工具。用了监视虚拟机各种运行状态信息的工具。可以显示本地JVM进程中的类加载,内存,GC,JIT等运行时数据,这个命令是在服务器运行期定位JVM性能问题的常用工具。

jinfo:Java配置信息工具,用于实时查看和调整JVM参数。

jstack:Java堆栈跟踪工具,用于生成虚拟机当前时刻的线程快照,即threaddump,javacore文件。线程快照就是当前JVM内每一条线程正在执行的方法堆栈集合,通常可以定位出线程长时间停顿,死锁,死循环,挂起等原因。

jmap:Java内存影像工具,用于生成堆转储快照,也就是dump文件。还可以和获取finalize执行队列,Java堆和方法区的详细信息,如空间使用率和当前用的GC收集器。

jhat:JVM堆转储快照分析工具,一般与jmap搭配使用,用来分析jmap生成的dump文件,但是在实际工作中,都不会用这个工具,因为非常耗资源,效率低,一般可以用专业的工具,比如visual VM,eclipse memory analyzer等。