使用jstat观察jvm状态
- jstat -gc pid time
如:每3秒打印一次jvm使用情况
[ bin]# ./jstat -gc 17474 3s S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 2560.0 2560.0 1712.5 0.0 2790912.0 1661843.1 5592576.0 230780.6 136704.0 129435.4 15872.0 14462.4 412 5.087 0 0.000 5.087 2560.0 2560.0 1712.5 0.0 2790912.0 1669230.1 5592576.0 230780.6 136704.0 129435.4 15872.0 14462.4 412 5.087 0 0.000 5.087 2560.0 2560.0 1712.5 0.0 2790912.0 1689227.3 5592576.0 230780.6 136704.0 129435.4 15872.0 14462.4 412 5.087 0 0.000 5.087
各列的解释:
S0C: 年轻代中第一个存活区的总大小(KB)
S1C: 年轻代中第二个存活区的总大小(KB)
S0U: 年轻代中第一个存活区目前已使用大小(KB)
S1U: 年轻代中第三个存活区目前已使用大小(字节)
EC: 年轻代中Eden的总大小(KB)
EU: 年轻代中Eden目前已使用大小(KB)
OC: 老年代的总大小(KB)
OU: 老年代目前已使用大小(KB)
MC: Metaspace的总大小(KB)
MU: Metaspace目前已使用大小(KB)
CCSC: 压缩类空间总大小(KB)
CCSU: 压缩空间目前已使用大小(KB)
YGC: 年轻代垃圾回收次数
YGCT: 年轻代垃圾回收所用总时间(秒)
FCG: 老年代发生垃圾回收次数
FCGT: 老年代发生垃圾回收所用总时间(秒)
GCT: 垃圾回收总耗时(秒)
- jstat -gccapacity pid time (查看JVM内存分配情况)
[ bin]# ./jstat -gccapacity 17474 5s NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC 2796032.0 2796032.0 2796032.0 2560.0 2560.0 2790912.0 5592576.0 5592576.0 5592576.0 5592576.0 0.0 1169408.0 136704.0 0.0 1048576.0 15872.0 429 0 2796032.0 2796032.0 2796032.0 2560.0 2560.0 2790912.0 5592576.0 5592576.0 5592576.0 5592576.0 0.0 1169408.0 136704.0 0.0 1048576.0 15872.0 429 0 2796032.0 2796032.0 2796032.0 2560.0 2560.0 2790912.0 5592576.0 5592576.0 5592576.0 5592576.0 0.0 1169408.0 136704.0 0.0 1048576.0 15872.0 429 0 2796032.0 2796032.0 2796032.0 2560.0 2560.0 2790912.0 5592576.0 5592576.0 5592576.0 5592576.0 0.0 1169408.0 136704.0 0.0 1048576.0 15872.0 429 0
各列解释:
NGCMN: 年轻代初始化(最小)的大小(KB)
NGCMX: 年轻代的最大容量(KB)
NGC: 年轻代中当前容量(KB)
S0C: 年轻代中第一个幸存区的容量(KB)
S1C: 年轻代中第三个幸存区的容量(KB)
EC: 年轻代中Eden区的容量(KB)
OGCMN: 老年代中初始化容量大小(KB)
OGCMX: 老年代中最大容量(KB)
OGC: 老年代当前容量大小(KB)
MCMN: metaspace初始化容量(KB)
MCMX: metaspace最大容量大小(KB)
MC: metaspace当前容量大小(KB)
- jstat -gcutil pid time (查看当前JVM内存占用百分比)
[ bin]# ./jstat -gcutil 17474 5s S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 61.88 0.00 72.14 4.20 94.73 91.12 434 5.326 0 0.000 5.326 61.88 0.00 73.49 4.20 94.73 91.12 434 5.326 0 0.000 5.326 61.88 0.00 74.73 4.20 94.73 91.12 434 5.326 0 0.000 5.326 61.88 0.00 75.69 4.20 94.73 91.12 434 5.326 0 0.000 5.326 61.88 0.00 77.52 4.20 94.73 91.12 434 5.326 0 0.000 5.326 61.88 0.00 78.85 4.20 94.73 91.12 434 5.326 0 0.000 5.326
各列解释:
S0: 年轻代中第一个幸存区已使用量占当前容量的百分比
S1: 年轻代中第二个幸存区已使用量占当前容量的百分比
E: 年轻代中Eden区已使用量占当前容量的百分比
O: 老年代已使用量占当前容量的百分比
M: metaspace已使用量点当前容量的百分比
- jstat -gcnew pid time (年轻代对象的信息)
[ bin]# ./jstat -gcnew 17474 3s S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT 2560.0 2560.0 0.0 2234.5 1 15 2560.0 2790912.0 1544776.3 435 5.339 2560.0 2560.0 0.0 2234.5 1 15 2560.0 2790912.0 1548682.9 435 5.339 2560.0 2560.0 0.0 2234.5 1 15 2560.0 2790912.0 1569876.3 435 5.339 2560.0 2560.0 0.0 2234.5 1 15 2560.0 2790912.0 1592029.9 435 5.339