0%

Jstat

文章字数:1807,阅读全文大约需要7分钟

JSTAT

  • 用于监视虚拟机运行时的状态信息,可以显示虚拟机进程类装载、内存、垃圾收集、JIT编译等运行数据
1
2
3
jstat [ generalOption | outputOptions vmid [ interval[s|ms] [ count ] ]
# 查看1111的gc数据,两秒一次,共一次
jstat -gc 1111 2 1
  • -statOption统计参数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class   #显示有关类加载器行为的统计信息。
    compiler #显示有关Java HotSpot VM即时编译器行为的统计信息。
    gc #显示有关垃圾回收堆的行为的统计信息。
    gccapacity #各个垃圾回收代容量(young,old,perm)和他们相应的空间统计。
    gccause #垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因。
    gcnew #显示新生代行为的统计信息。gcnewcapacity #显示有关新生代及其相应空间大小的统计信息。
    gcold #显示有关老年代和metaspace统计信息的统计信息。
    gcoldcapacity #年老代行为统计。
    gcmetacapacity #显示有关元空间大小的统计信息。
    gcutil #显示关于垃圾收集统计信息的摘要。
    printcompilation #显示Java HotSpot VM编译方法统计信息。

其它参数

1
2
3
 -h n  #每n个样本(输出行)显示一个列标题,其中n是一个正整数。 默认值是0,它显示列标题的第一行数据。
-t #显示一个时间戳列作为输出的第一列。 时间戳是从目标JVM开始时间开始的时间。
-JjavaOption #将javaOption传递给Java应用程序启动器。

gcutil选项

名称 简介
S0 幸存者0空间利用率占空间当前容量的百分比。
S1 幸存者1空间利用率占空间当前容量的百分比。
E Eden空间利用率占空间当前容量的百分比。
O 旧空间利用率占空间当前容量的百分比。
M Metaspace利用率占空间当前容量的百分比。
CCS 压缩类空间利用率,以百分比表示。
YGC 年轻一代GC事件的数量。
YGCT 年轻一代的垃圾收集时间(S)。
FGC 完整的GC事件的数量。
FGCT 完整的垃圾收集时间(S)。
GCT 垃圾收集总时间(S)。

gcnew选项

名称 简介
S0C 当前幸存者空间0容量(kB)。
S1C 当前幸存者空间1容量(kB)。
S0U 幸存者空间0利用率(kB)。
S1U 幸存者空间1利用率(kB)。
TT 任期阀值
MTT 最大任期阀值
DSS 所需的幸存者大小(kB)。
EC 当前eden空间容量(kB)。
EU Eden空间利用率(kB)。
YGC 年轻一代GC事件的数量。
YGCT 年轻一代的垃圾收集时间(S)。

gcoldcapacity

名称 简介
OGCMN 最小老年代容量(kB)。#从上图可以看出是670MB
OGCMX 最大老年代容量(kB)。#从上如可以看出最大内存是2730MB
OGC 当前的老年代容量(kB)。 #当前老年代是2730MB
OC 老年代大小(kB)。
YGC 年轻一代GC事件的数量。
FGC full GC事件的数量。
FGCT 完整的垃圾收集时间(S)。
GCT 垃圾收集总时间(S)。

class

名称 简介
Loaded 加载class的数量
Bytes class字节大小
Unloaded 卸载的类数。
Bytes 卸载的千字节数。
Time 执行类加载和卸载操作的时间。

compiler

名称 简介
Compiled 执行的编译任务数。
Failed 编译任务的失败数量。
Invalid 无效的编译任务数。
Time 执行编译任务的时间。
FailedType 编译最后一次失败编译的类型。
FailedMethod 上次失败编译的类名称和方法。

gc

名称 简介
S0C 当前survivor0区容量(kB)。 #大概是136MB
S1C 当前survivor1区容量(kB)。 #大概是136MB
S0U survivor0区已使用的容量(KB) #当前使用了17MB
S1U survivor1区已使用的容量(KB)
EC Eden区的总容量(KB) #Eden区的大小现在是1092MB
EU 当前Eden区已使用的容量(KB) #当前Eden区使用了1006MB
OC Old空间容量(kB)。 #当前老年代是2730MB
OU Old区已使用的容量(KB) #当前使用了748MB
MC Metaspace空间容量(KB) #在jdk1.7的版本MC是PC,也就是256MB
MU Metacspace使用量(KB) #也就是jdk1.7版本永久代使用了140MB
CCSC 压缩类空间容量(kB)。
CCSU 压缩类空间使用(kB)。
YGC 新生代垃圾回收次数
YGCT 新生代垃圾回收时间
FGC 老年代 full GC垃圾回收次数
FGCT 老年代垃圾回收时间
GCT 垃圾回收总消耗时间

gccapacity

名称 简介
NGCMN 年轻代(young)中初始化(最小)的大小(KB)
NGCMX 年轻代(young)的最大容量 (KB)
NGC 年轻代(young)中当前的容量 (KB)
S0C 年轻代中第一个survivor(幸存区)的容量 (KB)
S1C 年轻代中第二个survivor(幸存区)的容量 (KB)
EC 年轻代中Eden(伊甸园)的容量 (KB)
OGCMN old代中初始化(最小)的大小 (KB)
OGCMX old代的最大容量(KB)
OGC old代当前新生成的容量 (KB)
OC Old代的容量 (KB)
PGCMN perm代中初始化(最小)的大小 (KB) ,jdk1.8改为了MCMN
PGCMX perm代的最大容量 (KB),jdk1.8改为了MCMX
PGC perm代当前新生成的容量 (KB)
PC Perm(持久代)的容量 (KB)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数
MC Metaspace空间(KB)
CCSMN 压缩类空间最小容量(kB)。
CCSMX 压缩类空间最大容量(kB)。
CCSC 压缩类空间容量(kB)。

gcnewcapacity

名称 简介
NGCMN 年轻代(young)中初始化(最小)的大小(kb)
NGCMX 年轻代(young)的最大容量 (kb)
NGC 年轻代(young)中当前的容量 (kb)
S0CMX 年轻代中第一个survivor(幸存区)的最大容量 (kb)
S0C 年轻代中第一个survivor(幸存区)的容量 (kb)
S1CMX 年轻代中第二个survivor(幸存区)的最大容量 (kb)
S1C 年轻代中第二个survivor(幸存区)的容量 (kb)
ECMX 年轻代中Eden(伊甸园)的最大容量 (kb)
EC 年轻代中Eden(伊甸园)的容量 (kb)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数

gcold

名称 简介
PC Perm(持久代)的容量 (kb) #jdk1.8是MC Metaspace容量
PU Perm(持久代)目前已使用空间 (kb) #jdk1.8是MU Metaspace目前的使用量
OC Old代的容量 (kb)
OU Old代目前已使用空间 (kb)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数
FGCT 从应用程序启动到采样时old代(full gc)gc所用时间
GCT 垃圾收集总时间

gcoldcapacity

名称 简介
OGCMN old代中初始化(最小)的大小 (kb)
OGCMX old代的最大容量(kb)
OGC old代当前的容量 (kb)
OC Old代的容量 (kb)
YGC 从应用程序启动到采样时年轻代中gc次数
FGC 从应用程序启动到采样时old代(全gc)gc次数
FGCT 从应用程序启动到采样时old代(full gc)gc所用时间
GCT 垃圾收集总时间。