概览
JDK7 update 4中引入了jcmd工具,可以替代jps工具,同时提供了更丰富的功能;通过jcmd -h(elp)可以看到其用法:
usage.png运行方式
jcmd没有提供远程方法方式,只能查看本地的jvm信息:
jcmd <pid | main class> <command ...|PerfCounter.print|-f file>
选项说明
jcmd支持哪些选项,可以通过如下方式查看:
- 通过
jcmd
查看本地的java进程列表,获取其pid; - 通过
jcmd pid help
查看其支持的命令列表;
- 如果想查看命令的选项,比如想查看
VM.commercial_features
命令选项,可以通过如下命令:
常用命令
jcmd 31275 Thread.print -l # 打印线程栈
jcmd 31275 VM.command_line # 打印启动命令及参数
jcmd 31275 GC.heap_dump /data/31275.dump # dump heap
jcmd 31275 GC.class_histogram #查看类的统计信息
jcmd 31275 VM.system_properties #查看系统属性内容
jcmd 31275 VM.uptime #查看虚拟机启动时间
jcmd 31275 PerfCounter.print #查看性能统计
备注:PerfCounter.print和jstat一样使用PerfData,jstat中的指标都可以根据这些counter计算出来,具体的计算规则可以参考tool.jar中的sun/tools/jstat/resources/jstat_options
文件
网友评论