jcmd简介
在JDK1.7以后,Java新增了一个命令行工具jcmd。jcmd是一个多功能的工具,可以用来实现前面除了jstat之外所有命令的功能。比如:用它来导出堆、内存使用、查看Java进程、导出线程信息、执行GC、JVM运行时间等。
jcmd拥有jmap的大部分功能,并且在Oracle的官网上也推荐使用jcmd命令代替jmap命令。
官网:https://docs.oracle.com/en/java/javase/11/tools/jcmd.html
查看进程号(同jps)

查看指定的进程适用于哪些指令

查看线程信息(同jstack)

查看classs的直方图(同jmap -histo)

堆转储功能(同jmap -dump)

查看Java进程的运行时间

[root@bogon ~]# jstat -class -t 4622
Timestamp Loaded Bytes Unloaded Bytes Time
893.4 425 880.7 0 0.0 0.11
[root@bogon ~]# jcmd 4622 VM.uptime
4622:
897.023 s
打印系统的属性信息(jinfo -sysprops 进程号)

查看JVM启动后修改过的参数

jcmd 4622 VM.flags
jinfo -flags 4622









