使用jstat观察jvm状态
Posted 1156184981651a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jstat观察jvm状态相关的知识,希望对你有一定的参考价值。
- jstat -gc pid time
如:每3秒打印一次jvm使用情况
[root@i-5uvhvror 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内存分配情况)
[root@i-5uvhvror 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内存占用百分比)
[root@i-5uvhvror 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 (年轻代对象的信息)
[root@i-5uvhvror 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
以上是关于使用jstat观察jvm状态的主要内容,如果未能解决你的问题,请参考以下文章