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