浏览本文你能够学到以下命令的惯例应用【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