文章字数:1807,阅读全文大约需要7分钟
JSTAT
- 用于监视虚拟机运行时的状态信息,可以显示虚拟机进程类装载、内存、垃圾收集、
JIT
编译等运行数据
1 | jstat [ generalOption | outputOptions vmid [ interval[s|ms] [ count ] ] |
-statOption
统计参数1
2
3
4
5
6
7
8
9
10
11class #显示有关类加载器行为的统计信息。
compiler #显示有关Java HotSpot VM即时编译器行为的统计信息。
gc #显示有关垃圾回收堆的行为的统计信息。
gccapacity #各个垃圾回收代容量(young,old,perm)和他们相应的空间统计。
gccause #垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因。
gcnew #显示新生代行为的统计信息。gcnewcapacity #显示有关新生代及其相应空间大小的统计信息。
gcold #显示有关老年代和metaspace统计信息的统计信息。
gcoldcapacity #年老代行为统计。
gcmetacapacity #显示有关元空间大小的统计信息。
gcutil #显示关于垃圾收集统计信息的摘要。
printcompilation #显示Java HotSpot VM编译方法统计信息。
其它参数
1 | -h n #每n个样本(输出行)显示一个列标题,其中n是一个正整数。 默认值是0,它显示列标题的第一行数据。 |
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 | 垃圾收集总时间。 |