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