jstat用来监控jvm内存各区域运行状态,格式如下:
jstat 参数 vmid 监听间隔时间 监听次数
使用方法如,vmid可以通过jps查询:
jstat -gc 52113 1000 100
即:监听进程id为52113的应用的堆状况,包含eden、2个survior、old、perm、以及gc的时间等信息。
参数如下:
- -class 监控类装载、卸载数量、总空间以及装载类所耗时间;
- -gc 监控应用的堆状况,包含eden、2个survior、old、perm、以及gc的时间等信息;
- -gccapacity 监控的内容与-gc基本相同,但输出的是java堆各个区域使用的最大和最小空间;
- -gcutil 监控内容与-gc基本相同,但输出的都是空间的占总空间的比例;
- -gccause 与-gcutil一样,但额外输出导致上次gc产生的原因;
- -gcnew 监控新生代gc情况;
- -gcnewcapacity 监控内容与-gcnew基本相同,输出的是最大和最小空间;
- -gcold 监控老年的gc情况;
- -gcoldcapacity 监控内容与-gc基本相同,输出的是最大和最小空间;
- -gcpermcapacity 输出永久带最大和最小空间;
- -compiler 输出JIT编译过的方法、耗时等信息;
- -printcompilation 输出已经被JIT编译的方法。
下面详细介绍下jstat每个参数返回结果:
参数-class
Loaded:装载的类的数量 Bytes:装载类的字节大小;
Unloaded:卸载的类的数量 Bytes:卸载类的字节大小;
Time:装载和卸载类所花费的时间。
参数-gc
S0C:新生代第一个survivor(from survivor)的空间大小(字节);
S1C:新生代第二个survivor(to survivor)的空间大小(字节);
S0U:新生代第一个survivor(from survivor)使用空间大小(字节);
S1U:新生代第二个survivor(to survivor)的使用空间大小(字节);
EC:新生代eden空间大小(字节);
EU:新生代eden使用空间大小(字节);
OC:老年代空间大小(字节);
OU:老年代使用空间大小(字节);
PC:永久代空间大小(字节);
PU:永久代使用空间大小(字节);
YGC:major gc次数;
YGCT:major gc占用时间;
FGC:full gc次数;
FGCT:full gc占用时间;
GCT:gc总共占用时间。
参数-gccapacity
NGCMN:新生代初始化(最小)空间大小(字节);
NGCMX:新生代最大空间大小(字节);
NGC:新生代当前空间大小(字节);
S0C:新生代第一个survivor(from survivor)的空间大小(字节);
S1C:新生代第二个survivor(to survivor)的空间大小(字节);
EC:新生代eden空间大小(字节);
OGCMN:老年代初始化(最小)空间大小(字节);
OGCMX:老年代最大空间大小(字节);
OGC:老年代当前新生成的空间大小 (字节);
OC:老年代空间大小(字节);
PGCMN:永久代初始化(最小)空间大小(字节);
PGCMX:永久代最大空间大小(字节);
PGC:永久代当前新生成的空间大小(字节);
PC:永久代空间大小(字节);
YGC:major gc次数;
FGC:full gc次数。
参数-gcutil
S0:新生代第一个survivor(from survivor)的使用空间大小(百分比);
S1:新生代第二个survivor(to survivor)的使用空间大小(百分比);
E:新生代eden使用空间大小(百分比);
O:老年代使用空间大小(百分比);
P:永久代使用空间大小(百分比);
YGC:major gc次数;
YGCT:major gc占用时间;
FGC:full gc次数;
FGCT:full gc占用时间;
GCT:gc总共占用时间。
参数-gccause
S0:新生代第一个survivor(from survivor)的使用空间大小(百分比);
S1:新生代第二个survivor(to survivor)的使用空间大小(百分比);
E:新生代eden使用空间大小(百分比);
O:老年代使用空间大小(百分比);
P:永久代使用空间大小(百分比);
YGC:major gc次数;
YGCT:major gc占用时间;
FGC:full gc次数;
FGCT:full gc占用时间;
GCT:gc总共占用时间;
LGCC:最后一次垃圾回收的原因;
GCC:本次垃圾回收的原因。
参数-gcnew
S0:新生代第一个survivor(from survivor)的使用空间大小(百分比);
S1:新生代第二个survivor(to survivor)的使用空间大小(百分比);
S0U:新生代第一个survivor(from survivor)使用空间大小(字节);
S1U:新生代第二个survivor(to survivor)的使用空间大小(字节);
TT:对象在新生代存活的次数;
MTT:对象在新生代存活的最大次数;
DSS:期望的survivor大小(字节);
EC:新生代eden空间大小(字节);
EU:新生代eden空间使用的大小(字节);
YGC:major gc次数;
YGCT:major gc占用时间。
参数-gcnewcapacity
NGCMN:新生代初始化(最小)空间大小(字节);
NGCMX:新生代最大空间大小(字节);
NGC:当前新生代空间大小(字节);
S0CMX:新生代第一个survivor(from survivor)的最大空间大小(字节);
S0C:当前新生代第一个survivor(from survivor)的空间大小(字节);
S1CMX:新生代第二个survivor(to survivor)的最大空间大小(字节);
S1C:当前新生代第二个survivor(to survivor)的空间大小(字节);
ECMX:新生代eden最大空间大小(字节);
EC:当前新生代eden空间大小(字节);
YGC:major gc次数;
FGC:full gc次数。
参数-gcold
PC:永久代空间大小(字节);
PU:永久代使用空间大小(字节);
OC:老年代空间大小(字节);
OU:老年代使用空间大小(字节);
YGC:major gc次数;
FGC:full gc次数;
FGCT:full gc占用时间;
GCT:gc总共占用时间。
参数-gcoldcapacity
OGCMN:老年代初始化(最小)空间大小(字节);
OGCMX:老年代最大空间大小(字节);
OGC:老年代当前新生成的空间大小 (字节);
OC:老年代空间大小(字节);
YGC:major gc数;
FGC:full gc数;
FGCT:full gc占用时间;
GCT:gc总共占用时间。
参数-gcpermcapacity
PGCMN:永久代初始化(最小)空间大小(字节);
PGCMX:永久代最大空间大小(字节);
PGC:永久代当前新生成的空间大小(字节);
PC:永久代空间大小(字节);
YGC:major gc数;
FGC:full gc数;
FGCT:full gc占用时间;
GCT:gc总共占用时间。
参数-compiler
Compiled:JIT编译执行次数;
Failed:JIT编译执行失败次数;
Invalid:JIT编译执行失效次数;
Time:JIT编译执行时间;
FailedType:最后一个JIT编译失败类型;
FailedMethod:最后一个JIT编译失败的类和方法。
参数-printcompilation
Compiled:JIT编译执行次数;
Size:方法生成的字节码大小(字节);
Type:编译类型;
Method:类名和方法名用来标识编译的方法。
类名使用/做为一个命名空间分隔符。
方法名是给定类中的方法。
上述格式是由-XX:+PrintComplation选项进行设置的。
时间: 2024-11-20 22:59:58