- jps:虚拟机进程状况工具
可以列出正在运行的虚拟机进程,并显示虚拟机执行主类函数所在的名称,以及这些进程的本地虚拟机唯一ID(LVMID,Local Virtual Machine Identifier)。 - jstat:虚拟机统计信息监视工具
用于监视虚拟机各种运行状态信息的命令行工具,可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。
可选参数如下图所示 - jinfo:Java配置信息工具
作用是实时地查看和调整虚拟机参数。
jinfo可以使用-sysprops选项把虚拟机进程的System.getProperties()的内容打印出来。
jinfo还可以使用-flag [+|-]name或-flag name=value修改一部分运行期可写的虚拟机参数值。 - jmap:Java内存映像工具
jmap(Memory Map for Java)用于生成堆转储快照。
可选参数如下图所示 - jhat:虚拟机堆转储快照分析工具
jhat(JVM Heap Analysis Tool)命令与jmap搭配使用,来分析jmap生成的堆转储快照。
一般不会在部署应用程序的服务器上直接分析dump文件,尽量将dump文件拷贝到其他机器上进行分析,因为分析工作比较耗费时间和资源。 - jstack:Java堆栈跟踪工具
jstack(Stack Trace for Java)命令用于生成虚拟机当前时刻的线程快照。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的目的是定位线程出现长时间停顿的原因。
以上6种是Java命令行性能监控,另外还有两个功能强大的可视化工具
- JConsole
可以通过JDK/bin目录下的“jconsole.exe”启动JConsole。 - VisualVM