JVM命令行监控工具之jcmd

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

猜你喜欢

转载自blog.csdn.net/fengsheng5210/article/details/123669337