浏览本文你能够学到以下命令的惯例应用【jps,jinfo,jstat,jmap,jstack,jcmd,jrunscript,jjs】
jps
获取以后运行中java过程,
示例:
jps -lmv 能够打印详细信息 -l 输入main类或jar的全限名,-m传入main办法的参数,-v传入jvm的参数
jinfo
应用 jinfo pid 能够查看以后过程零碎属性信息以及过程启动jvm参数信息,jdk版本信息
示例:jinfo pid
jstat
JVM统计检测工具
示例:
jstat -gc pid 1000 10 (打印pid的gc信息,每一秒打印一次,打印10次) jstat -gcutil pid 1000 10(打印pid的gc百分比信息,每一秒打印一次,打印10次)
阐明 C是容量(capacity),U是使用量(utilization)
S0C survivor0区的容量 S0U survivor0区的使用量 S1C survivor1区的容量 S1Usurvivor1区的使用量 EC eden区的容量 EU eden区的使用量 OC old区的容量 OU old区的使用量 MC 元数据区容量 MU 元数据区使用量 CCSC 压缩的class空间容量 CCSU 压缩的class空间使用量 YGC 年老代GC次数 YGCT 年老代GC总工夫 FGC Full GC 次数 FGCT Full GC总工夫 GCT 垃圾收集总工夫
jmap
打印堆内存配置和应用信息
jmap -heap pid
看哪些类占用的空间最多
jmap -histo pid
dump 文件输入
jmap -dump:format=b,file=xxxx.hprof pid
jstack
-f 强制执行thread dump 可在过程卡死时应用,须要零碎权限
jstack -f pid
-m 混合输入(mixed mode) 将java帧和native帧一起输入
jstack -m pid
-l 输入详细信息,长列表模式,打印相干的锁信息
jstack -l pid
jcmd
查看信息
能够应用 jcmd pid help 获取能够查看以后过程参数信息
// 版本jcmd pid VM.version// 参数jcmd pid VM.flags// 启动命令jcmd pid VM.command_line// 零碎参数jcmd pid VM.system_properties// 线程信息jcmd pid VM.Thread.print// GC 占用空间状况jcmd pid GC.class_histogram// GC 年老代,老年代,元数据区信息jcmd pid GC.heap_info
jrunscript/jjs
-
jrunscript
当curl 用
jrunscript -e "cat('http://www.baidu.com')"
执行js命令
jrunscript -e "print('hello zuiyu.jvm')"
执行js文件
jrunscript -l js -f /xx/xx/test.js
-
jjs
交互控制台应用
image-20220109215617800
Java进阶
扫码关注 不迷路
微信:zuiyu17970