jstat(Java Virtual Machine statistics monitoring tool)——查看堆内各个部分的使用量,以及加载类的数量
命令格式:jstat [generalOption | outputOptions vmid [ interval [ s|ms ] [ count ] ] ]
注意:该命令在将来版本的J2SE SDK中可用或不可用还不清楚。 但是目前在Windows 98和Windows ME平台上是不可用。
generalOption:简单通用命令行选项 (-help,-options, or -version)
-help:展示命令相关信息
-version:展示版本信息
-options:显示统计选项的列表。 请参阅下面的输出选项部分
outputOptions:
-statOption:
class:关于类加载器行为的统计信息
compiler:HotSpot即时编译器行为的统计信息
gc:垃圾回收堆行为的统计信息
gacapacity:统计内存三代(young、old、permanent)及他们空间信息
gccause:垃圾收集统计(与-gcutil相同)的摘要,以及最后一个和当前(如果适用)垃圾回收事件的cause
gcnew:新生代的统计信息
gcnewcapacity:新生代及其空间使用情况
gcold:老年代和永久代的统计信息
gcoldcapacity:老年代容量的使用情况
gcpermcapacity:永久代容量的使用情况
gcutil:垃圾回收统计
printcompilation:hotSpot编译器方法统计
-h n:设置隔n行显示header
-t:第一列显示一个时间戳,当前时间与jvm启动时间的时间间隔
-J (option):将选项传递给java程序(例如:-J-Xms48m将启动内存设置为48兆字节。 -J通过是一个通用的约定执行用Java编写的应用程序的底层VM选项)
下面对于statOption做详细的说明,在使用的过程中,打印的信息表示什么意思
class:类加载统计
jstat -class 4718
Loaded Bytes Unloaded Bytes Time
3297 6221.3 0 0.0 1.46
Loaded:加载class的数量
Bytes:所占用空间大小
Unloaded:未加载数量
Bytes:未加载占用空间
Time:花费在执行类加载和未加载操作上的时间
compiler:HotSpot即时编译器行为的统计信息
jstat -compiler 4718
Compiled Failed Invalid Time FailedType FailedMethod
1429 0 0 2.94 0
Compiled:编译数量
Failed:失败数量
Invalid:不可用数量
Time:编译花费的时间
FailedType:最近一次编译失败的编译类型
FailedMethod:最近一次编译失败的类名和方法名
gc:垃圾回收堆行为的统计信息
图1jstat -gc 4718
S0C:survivor 0的容量(KB)
S1C:survivor 1的容量(KB)
S0U:survivor 0已使用情况(KB)
S1U:survivor 1已使用情况(KB)
EC:Eden的空间容量(KB)
EU:Eden已使用情况(KB)
OC:老年代空间容量(KB)
OU:老年代已使用大小(KB)
MC:方法区空间容量(KB)
MU:方法区使用大小(KB)
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
YGC:新生代垃圾回收次数
YGCT:新生代垃圾回收消耗时间
FGC:full gc发生次数
FGCT:full gc消耗时间
GCT:垃圾回收消耗总时间
gacapacity:统计内存三代(young、old、permanent)及他们空间使用信息
图2jstat -gccapacity 4718
NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:当前新生代容量
S0C:survivor 0的容量
S1C:survivor 1的容量
EC:Eden的空间容量
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:当前老年代容量
OC: 当前老年代空间大小
MCMN: 永久代最小容量
MCMX:永久代最大容量
MC:当前元数据空间大小
CCSMN:最小压缩类空间大小
CCSMX:最大压缩类空间大小
CCSC:当前压缩类空间大小
YGC:年轻代gc次数
FGC:老年代GC次数
gcutil:垃圾回收统计
图3jstat -gcutil 4718 500 10
S0:survivor 0当前使用比例
S1:survivor 1当前使用比例
E:永久代使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:新生代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
gccause:垃圾收集统计(与-gcutil相同)的摘要,以及上次和当前(如果适用)垃圾回收事件的cause
图4jstat -gccause 4718 500 10
LGCC:上次垃圾回收的cause
GCC:当前垃圾回收的cause
gcnew:新生代统计
图5jstat -gcnew 4718 500 10
S0C:survivor 0的容量大小
S1C:survivor 1的容量大小
S0U:survivor 0的使用大小
S1U:survivor 1的使用大小
TT: 对象在新生代存活的次数
MTT: 对象在新生代存活的最大次数
DSS:期望的survivor大小
EC:Eden的容量大小
EU:Eden的使用大小
YGC:新生代垃圾回收次数
YGCT:新生代垃圾回收消耗时间
gcnewcapacity:新生代空间大小统计
图6jstat -gcnewcapacity 4718 500 10
NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:当前新生代容量
S0CMX:最大survivor 0大小
S0C:当前survivor 0大小
S1CMX:最大survivor 1大小
S1C:当前survivor 1大小
ECMX:最大Eden区空间大小
EC:当前Eden区空间大小
YGC:新生代垃圾回收次数
FGC:老年代回收次数
gcold:老年代和永久代的统计信息
图7jstat -gcold 4718 500 10
MC:方法区大小
MU:方法区使用大小
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
OC:老年代大小
OU:老年代使用大小
YGC:新生代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
gcoldcapacity:新生代及其空间使用情况
图8jstat -gcoldcapacity 4718 500 10
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:当前老年代大小
OC:老年代大小
YGC:新生代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
gcpermcapacity:永久代容量的使用情况
PGCMN:perm代中最小容量 (KB)
PGCMX:perm代的最大容量 (KB)
PGC:perm代当前新生成的容量 (KB)
PC:Perm(持久代)的容量 (KB)
YGC:从应用程序启动到采样时新生代中gc次数
FGC:从应用程序启动到采样时老年代(全gc)gc次数
FGCT:从应用程序启动到采样时老年代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
printcompilation:hotSpot编译器方法统计
图9jstat -printcompilation 4718 500 10
Compiled:最近编译方法的数量
Size:最近编译方法的字节码数量
Type:最近编译方法的编译类型
Method:方法名标识
网友评论