jstat查看jvm的GC情况[转]

jps(JavaVirtualMachineProcessStatusTool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path.

jstat 

1.jstat-gcpid

可以显示gc的信息,查看gc的次数,及时间。

其中最后五项,分别是younggc的次数,younggc的时间,fullgc的次数,fullgc的时间,gc的总时间。

2.jstat-gccapacitypid

可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,

如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,

PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。

其他的可以根据这个类推,OC是old内纯的占用量。

3.jstat-gcutilpid

统计gc信息统计。

4.jstat-gcnewpid

年轻代对象的信息。

5.jstat-gcnewcapacitypid

年轻代对象的信息及其占用量。

6.jstat-gcoldpid

old代对象的信息。

7.stat-gcoldcapacitypid

old代对象的信息及其占用量。

8.jstat-gcpermcapacitypid

perm对象的信息及其占用量。

9.jstat-classpid

显示加载class的数量,及所占空间等信息。

10.jstat-compilerpid

显示VM实时编译的数量等信息。

11.stat-printcompilationpid

当前VM执行的信息。

一些术语的中文解释:

S0C:年轻代中第一个survivor(幸存区)的容量(字节)

S1C:年轻代中第二个survivor(幸存区)的容量(字节)

S0U:年轻代中第一个survivor(幸存区)目前已使用空间(字节)

S1U:年轻代中第二个survivor(幸存区)目前已使用空间(字节)

EC:年轻代中Eden(伊甸园)的容量(字节)

EU:年轻代中Eden(伊甸园)目前已使用空间(字节)

OC:Old代的容量(字节)

OU:Old代目前已使用空间(字节)

PC:Perm(持久代)的容量(字节)

PU:Perm(持久代)目前已使用空间(字节)

YGC:从应用程序启动到采样时年轻代中gc次数

YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)

FGC:从应用程序启动到采样时old代(全gc)gc次数

FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)

GCT:从应用程序启动到采样时gc用的总时间(s)

NGCMN:年轻代(young)中初始化(最小)的大小(字节)

NGCMX:年轻代(young)的最大容量(字节)

NGC:年轻代(young)中当前的容量(字节)

OGCMN:old代中初始化(最小)的大小(字节)

OGCMX:old代的最大容量(字节)

OGC:old代当前新生成的容量(字节)

PGCMN:perm代中初始化(最小)的大小(字节)

PGCMX:perm代的最大容量(字节)

PGC:perm代当前新生成的容量(字节)

S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比

S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比

E:年轻代中Eden(伊甸园)已使用的占当前容量百分比

O:old代已使用的占当前容量百分比

P:perm代已使用的占当前容量百分比

S0CMX:年轻代中第一个survivor(幸存区)的最大容量(字节)

S1CMX:年轻代中第二个survivor(幸存区)的最大容量(字节)

ECMX:年轻代中Eden(伊甸园)的最大容量(字节)

DSS:当前需要survivor(幸存区)的容量(字节)(Eden区已满)

TT:持有次数限制

MTT:最大持有次数限制

相关推荐