jcmd

jcmd

  发送诊断命令请求到正在运行的Java虚拟机(JVM)。它必须和JVM运行在同一台机器上,并且与启动JVM用户具有相同的组权限。

  • 用法
    1. 列出当前所有运行的 java 进程:jcmd -l|
    2. 列出当前运行的 java 进程可以执行的操作:jcmd PID help
jcmd 664 help
664:
The following commands are available:
JFR.stop
JFR.start
JFR.dump
JFR.check
VM.native_memory
VM.check_commercial_features
VM.unlock_commercial_features
ManagementAgent.stop
ManagementAgent.start_local
ManagementAgent.start
GC.rotate_log
Thread.print
GC.class_stats
GC.class_histogram
GC.heap_dump
GC.run_finalization
GC.run
VM.uptime
VM.flags
VM.system_properties
VM.command_line
  1. 参数含义
命令 描述
jcmd PID VM.uptime 查看 JVM 的启动时长
jcmd PID GC.class_histogram 查看 JVM 的类信息,这个可以查看每个类的实例数量和占用空间大小。
jcmd PID Thread.print 查看 JVM 的Thread Dump
jcmd PID GC.heap_dump FILE_NAME 查看 JVM 的Heap Dump,注意,如果只指定文件名,默认会生成在启动 JVM 的目录里。
jcmd PID VM.system_properties 查看 JVM 的属性信息
jcmd PID VM.flags 查看 JVM 的启动参数,注意,可以看到 -X 和 -XX 的参数信息
jcmd PID VM.command_line 查看 JVM 的启动命令行
jcmd PID GC.run_finalization 对 JVM 执行 java.lang.System.runFinalization(),尽量b别去调用这个对象的finalize方法。
jcmd PID GC.run 对 JVM 执行 java.lang.System.gc(),告诉垃圾收集器打算进行垃圾收集,而垃圾收集器进不进行收集是不确定的
jcmd PID PerfCounter.print 查看 JVM 的性能

你可能感兴趣的:(jcmd)