概覽
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
查看其支持的命令列表;
options.png
- 如果想查看命令的選項,比如想查看
VM.commercial_features
命令選項,可以通過如下命令:
Paste_Image.png
常用命令
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
文件