jcmd
??發(fā)送診斷命令請求到正在運行的Java虛擬機(JVM)麻献。它必須和JVM運行在同一臺機器上勉吻,并且與啟動JVM用戶具有相同的組權(quán)限旅赢。
- 用法
- 列出當前所有運行的 java 進程:
jcmd -l|<none>
- 列出當前運行的 java 進程可以執(zhí)行的操作:
jcmd PID help
- 列出當前所有運行的 java 進程:
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
- 參數(shù)含義
命令 | 描述 |
---|---|
jcmd PID VM.uptime | 查看 JVM 的啟動時長 |
jcmd PID GC.class_histogram | 查看 JVM 的類信息煮盼,這個可以查看每個類的實例數(shù)量和占用空間大小。 |
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 的啟動參數(shù),注意梗脾,可以看到 -X 和 -XX 的參數(shù)信息 |
jcmd PID VM.command_line | 查看 JVM 的啟動命令行 |
jcmd PID GC.run_finalization | 對 JVM 執(zhí)行 java.lang.System.runFinalization(),盡量b別去調(diào)用這個對象的finalize方法炸茧。 |
jcmd PID GC.run | 對 JVM 執(zhí)行 java.lang.System.gc()稿静,告訴垃圾收集器打算進行垃圾收集自赔,而垃圾收集器進不進行收集是不確定的 |
jcmd PID PerfCounter.print | 查看 JVM 的性能 |