JVM Process Status Tool,显示虚拟机进程。
用法: jps [-q] [-mlvV]
例子: jps
、 jps -l
JVM statistics Monitoring,对Java虚拟机内存进行监控统计。
用法: jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
gcutil
例子: jstat -gcutil -h2 -t 15754 100 5
,表示监控进程号15754的垃圾收集统计值,每隔100ms输出一行,总共输出5次,每输出2次需要重新输出标题。
[root@root ~]# jstat -gcutil -h2 -t 15754 100 5 Timestamp S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 11296830.0 0.00 100.00 21.80 25.80 98.41 96.33 113648 2500.825 0 0.000 2500.825 11296830.2 0.00 100.00 21.80 25.80 98.41 96.33 113648 2500.825 0 0.000 2500.825 Timestamp S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 11296830.3 0.00 100.00 21.80 25.80 98.41 96.33 113648 2500.825 0 0.000 2500.825 11296830.4 0.00 100.00 21.80 25.80 98.41 96.33 113648 2500.825 0 0.000 2500.825 Timestamp S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 11296830.5 0.00 100.00 21.80 25.80 98.41 96.33 113648 2500.825 0 0.000 2500.825
输出的指标说明
JVM Configuration info,可以实时查看和实时修改虚拟机参数。
用法: jinfo [option] <pid>
option:操作
-flag 打印指定的VM参数的值
-flag [+|-] 启用或禁用指定的VM参数
-flag = 修改VM参数
-flags 打印VM参数
-sysprops 打印Java系统配置
pid:进程ID
例子: jinfo 15754
、 jinfo -flags 15754
JVM Memory Map,用来生成堆栈dump文件。
用法: jmap [option] <pid>
option:操作
heap:打印Java堆摘要
histo[:live]:打印java对象堆的直方图; 如果指定了“live”选项,则仅计算实时对象
dump:生成dump快照
pid:进程ID
例子: jmap -heap 15754
、 jmap -histo:live 15754
、 jmap -dump:live,file=./heap_dump.hprof 15754
用来生成Java虚拟机当前时刻的线程快照,方便定位线程长时间停顿的问题,比如死锁、死循环、长时间等待等。
用法: jstack -F [-m] [-l] <pid>
例子: jstack -l 15754
JVM Heap Analysis Tool,用来分析jmap生成的堆栈日志,生成HTML文件。一般会用可视化工具来分析堆栈日志,比如MAT。
JDK建议使用 jcmd 替代 jstack、jinfo、jmap 等命令。
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-07/159651.htm