虚拟机性能监控与故障处理工具
4.1概述
4.2 JDK的命令工具
监控工具都是由Java直接编写而成的。
- jps:虚拟机进程状况工具
它可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(main()函数所在的类),以及这些进程的本地虚拟机的唯一ID(LVMID)余对于本地虚拟机进程来说,LVMID与操作系统的进程ID(PID)是一致的。 - jstat:虚拟机统计信息监视工具
jstat是用于监视虚拟机各种运行状态信息的命令工具,它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。 - jinfo:Java配置信息工具
它的作用是定时查看和调整虚拟机的各项参数。 - jmap:Java内存映像工具
jmap命令用于生成对转储快照,它还可以查询finalize执行队列,Java堆和永久代的详细信息,如空间使用率、当前用的是那种收集器等。 - jhat:虚拟机堆转储快照分析工具
和jmap搭配,用于分析jmap生成的堆转储快照。 - jstack:Java堆栈跟踪工具
jstack命令用于生成虚拟机当前时刻的线程快照,线程快照就是当前虚拟机内每执行一条线程正在执行的方法堆栈的集合,生成线程快照的目的是定位线程出现长时间停顿的原因,如死锁、死循环、外部请求资源导致长时间等待等。
4.3 JDK的可视化工具
- JConsole:Java监视与管理控制台
JConsole是一款基于JMX的可视化监视和管理工具。 - VisualVM:多合一故障处理工具
它除了运行监视、故障处理外,还提供如性能分析等功能。