简介
本文主要是收集整理Linux系统下JVM自带的性能诊断工具(jps、jstat、jmap),包含工具的作用,用法,返回数据说明。
JVM自带工具,都可以通过command -help来阅读工具的使用说明
工具介绍
以下工具的数据说明参考:ITPUB的ii_chengzi>>>jstat命令查看jvm的GC情况 (以Linux为例)
JPS
作用
用来查看服务器(如果没有指定服务器,默认为本机)上运行的所有JAVA进程编号(以下称为VMID)。一般情况下使用这个工具的目的只是为了找出运行的JVM进程ID,然后可以进一步使用其它的工具来监控和分析JVM。
用法
语法规则
[root@localhost ~]# jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:<port>]
案例
[root@localhost ~]# jps -q
1059229171
29172
24852
24808
24732
[root@localhost ~]# jps -mlvV
10592 ./iag-saas-enterprise.jar --spring.profiles.active=demo --nacos.server-addr=192.168.12.15:8848 --nacos.namespace=8929c316-6166-43f8-8a9f-62dbea078f67 -Xms2048m -Xmx2048m
29171 ./iag-channel.jar -Xms4096m -Xmx4096m -Xmn1024m
29172 ./iag-resolver.jar -Xms4096m -Xmx4096m -Xmn1024m
24808 ./iag-resolver.jar -Xms4096m -Xmx4096m -Xmn1024m
24939 sun.tools.jps.Jps -mlvV -Denv.class.path=/home/xm_eis/SysData/jdk1.8.0_261/lib:/home/xm_eis/SysData/jdk1.8.0_261/jre/lib -Dapplication.home=/home/xm_eis/SysData/jdk1.8.0_261 -Xms8m
24732 ./iag-channel.jar -Xms4096m -Xmx4096m -Xmn1024m
数据说明
第一列为PID,第二列为详情(包含jar包路径,传递给Main函数的参数、JVM参数)
JSTAT
作用
命令 | 作用 |
---|---|
-class | 用于查看类加载情况的统计 |
-compiler | 用于查看HotSpot中即时编译器编译情况的统计 |
-gc | 用于查看JVM中堆的垃圾收集情况的统计 |
-gccapacity | 用于查看新生代、老生代及持久代的存储容量情况 |
-gcmetacapacity | 显示metaspace的大小 |
-gcnew | 用于查看新生代垃圾收集的情况 |
-gcnewcapacity | 用于查看新生代存储容量的情况 |
-gcold | 用于查看老生代垃圾收集的情况 |
-gcoldcapacity | 用于查看老年代的容量 |
-gcutil | 显示垃圾收集信息 |
-gccause | 显示垃圾回收的相关信息,同时显示最后一次仅当前正在发生的垃圾收集的原因 |
-printcompilation | 输出JIT编译的方法信息 |
语法规则
[root@localhost ~]# jstat -help
Usage: jstat -help|-options
jstat -<option> [-t] [-h<lines>] <vmid> [<interva