jstat虚拟机统计信息监视工具

2019-09-23 15:25:26 浏览数 (1)

jstsat(JVM Statistics Monitoring Tool)

  jstat用于监视虚拟机各种运行状态信息的命令工具。可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。

  jstat 命令格式:

代码语言:javascript复制
jstat [ option vmid [interval [s|ms] [count]] ]

命令格式中的VMID与LVMID,如果是本地虚拟机进程,VMID与LVMID是一致的,如果是远程虚拟机进程,那么VMID的格式应该是: [protocol : ][//] lvmid [ @hostname [ :port ] / servername ] interval 和 count 代表查询间隔和次数,如果缺省这两个参数,说明只查询一次。

  option 列表:

选项

作用

-class

监视类装载、卸载数量、总空间以及类装载所耗费的时间

-gc

监视java堆状况,包括Eden区、两个survivor区、老年代、永久代的容量、已用空间、GC时间合计等信息

-gccapacity

监视内容与 -gc 基本相同,但是输出主要关注Java堆各个区域使用到的最大、最小空间

-gcutil

监视内容与 -gc 基本相同,但是主要关注已使用空间占总空间的百分比

-gccause

与状况 -gcutil 功能一样,但是会额外输出导致上次gc产生的原因

-gcnew

监视新生代gc状况

-gcnewcapacity

监视内容与 -gcnew 基本相同,但是输出主要关注使用到的最大、最小空间

-gcold

监视老年代gc状况

-gcoldcapacity

监视内容与 -gcold 基本相同,但是输出主要关注使用到的最大、最小空间

-gcpermcapacity

输出永久代使用到的最大、最小空间

-compiler

输出 JIT 编译器编译过的方法、耗时等信息

-printcompilation

输出已经被 JIT 编译的方法

-gcutil 例子

代码语言:javascript复制
 ~ jstat -gcutil 2861 1000 2
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
  0.00  81.88  86.39   0.12  98.33  95.71      5    0.023     0    0.000    0.023
  0.00  81.88  86.39   0.12  98.33  95.71      5    0.023     0    0.000    0.023

2861是改程序在虚拟机的vim(用jps查询),1000表示每隔一秒查询一次,2表示一共查询2次。 新生代中两个Survivor区(S0、S1,表示Survivor0、Survivor1)里面使用的情况分别是0.00%和81.88%,Eden区(E,表示Eden)使用了86.39%。老年代old(O表示)使用了0.12%。元空间(M,表示Matespace,jdk1.8用这个代替了jdk1.7之前的PermGen Space永久代)使用98.33,但是这个Matespace大小跟虚拟机内存大小无关,直接跟物理机内存大小有关。CCSC表示的是Klass Metaspace的已经被commit的内存。程序启动以来发生Minor GC(YGC表示Young GC)5次,总耗时 0.023秒(YGCT表示程序以来发生Young GC所以次数总消耗的时间);发生Full GC(FGC表示Full GC)0次,总耗时0秒(FGCT表示所有Full GC执行的所耗时间),所有GC总共耗时0.023秒(GCT表示所有GC包括minor GC和Full GC)。

0 人点赞