jdk命令行jstat -gc相关参数与结果列表整理
2014-08-13 16:20
211 查看
jstat(JVM Statistics Monitoring Tool)用于监视虚拟机各种命令运行状态信息的命令行工具
他可以显示本地或远程虚拟机 进程中的类装载、内存、垃圾手机、JIT编译等运行数据。
jstat命令格式
jstat [option vmid [inyerval[s|ms] [count]]]
参数interval和count代表查询间隔和次数,如果省略这两个参数,说明只查询一次。
注意:
对于命令格式中的VMID与LVMID需要特别说明一下:如果是本地虚拟机进程,VMID和LVMID是一致的
如果是远程虚拟机进程,那VMID的格式应该是
[protocol:][//]lvmid[@hostname[:port]/servername]
假设需要每250毫秒查询一次进程5468垃圾收集情况,一共查询20次,命令应该是
jstat -gc 5468 250 20 [查询结果图如下]
如果是照着网上或者书上的例子敲的,那么红色部分就是一大疑问。下面会对他们做个解释
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 : 最大持有次数限制
我们再来执行一个命令jstat -gcutil
这台机器新生代Eden区(E,年轻代中Eden(伊甸园)已使用的占当前容量百分比),使用了5.65%的空间,
两个Survivor区(S0,S1表示Survivor0,Survivor1),S0使用了2.44%
老年代O和永久代P,分别使用82.09%,和62.54%的空间。
YGC(Yound GC)总共36次,总耗时0.138秒。发生FGC(Full GC)3次,总耗时0.103秒
所有GC总耗时(GCT 表示GC Time)0.241秒
以下是 jstat 命令相关介绍
1. jstat -gc pid
可以显示gc的信息,查看gc的次数,及时间。
其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
2.jstat -gccapacity pid
可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,
如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,
PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。
其他的可以根据这个类推, OC是old内纯的占用量。
3.jstat -gcutil pid
统计gc信息统计。
4.jstat -gcnew pid
年轻代对象的信息。
5.jstat -gcnewcapacity pid
年轻代对象的信息及其占用量。
6.jstat -gcold pid
old代对象的信息。
7.stat -gcoldcapacity pid
old代对象的信息及其占用量。
8.jstat -gcpermcapacity pid
perm对象的信息及其占用量。
9.jstat -class pid
显示加载class的数量,及所占空间等信息。
10.jstat -compiler pid
显示VM实时编译的数量等信息。
11.stat -printcompilation pid
当前VM执行的一些信息
用命令行工具在纯文本状态监视虚拟机状态的变化,确实不如某些工具如 VisualVM可视化的监视工具直接以图标展示那样直观。
但初学者建议还是先在控制台中操作,以便熟悉命令。
送上VisualVM下载地址 http://download.csdn.net/detail/wang_situ/7748597
他可以显示本地或远程虚拟机 进程中的类装载、内存、垃圾手机、JIT编译等运行数据。
jstat命令格式
jstat [option vmid [inyerval[s|ms] [count]]]
参数interval和count代表查询间隔和次数,如果省略这两个参数,说明只查询一次。
注意:
对于命令格式中的VMID与LVMID需要特别说明一下:如果是本地虚拟机进程,VMID和LVMID是一致的
如果是远程虚拟机进程,那VMID的格式应该是
[protocol:][//]lvmid[@hostname[:port]/servername]
假设需要每250毫秒查询一次进程5468垃圾收集情况,一共查询20次,命令应该是
jstat -gc 5468 250 20 [查询结果图如下]
如果是照着网上或者书上的例子敲的,那么红色部分就是一大疑问。下面会对他们做个解释
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 : 最大持有次数限制
我们再来执行一个命令jstat -gcutil
这台机器新生代Eden区(E,年轻代中Eden(伊甸园)已使用的占当前容量百分比),使用了5.65%的空间,
两个Survivor区(S0,S1表示Survivor0,Survivor1),S0使用了2.44%
老年代O和永久代P,分别使用82.09%,和62.54%的空间。
YGC(Yound GC)总共36次,总耗时0.138秒。发生FGC(Full GC)3次,总耗时0.103秒
所有GC总耗时(GCT 表示GC Time)0.241秒
以下是 jstat 命令相关介绍
1. jstat -gc pid
可以显示gc的信息,查看gc的次数,及时间。
其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
2.jstat -gccapacity pid
可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,
如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,
PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。
其他的可以根据这个类推, OC是old内纯的占用量。
3.jstat -gcutil pid
统计gc信息统计。
4.jstat -gcnew pid
年轻代对象的信息。
5.jstat -gcnewcapacity pid
年轻代对象的信息及其占用量。
6.jstat -gcold pid
old代对象的信息。
7.stat -gcoldcapacity pid
old代对象的信息及其占用量。
8.jstat -gcpermcapacity pid
perm对象的信息及其占用量。
9.jstat -class pid
显示加载class的数量,及所占空间等信息。
10.jstat -compiler pid
显示VM实时编译的数量等信息。
11.stat -printcompilation pid
当前VM执行的一些信息
用命令行工具在纯文本状态监视虚拟机状态的变化,确实不如某些工具如 VisualVM可视化的监视工具直接以图标展示那样直观。
但初学者建议还是先在控制台中操作,以便熟悉命令。
送上VisualVM下载地址 http://download.csdn.net/detail/wang_situ/7748597
相关文章推荐
- 几个与JVM相关的JDK工具:jps, jstat, jmap
- PHP命令行模式的相关参数详解
- tomcat相关【各种参数说明以及内存配置优化需要整理】
- GC参数整理
- java的jdk配置与helloworld相关整理
- vss 命令行执行相关操作搜集整理
- Linux下常用命令行及其参数整理
- 几个与JVM相关的JDK工具:jps, jstat, jmap
- Android命令行获取WiFi列表以及参数
- Golang 读取操作系统命令行控制台传入的参数列表os.Args的多种方式
- 几个与JVM相关的JDK工具:jps, jstat, jmap
- jstat监控系统gc情况 (jdk自带)
- asterisk RTP透传相关参数整理
- ffmpeg 命令行 详解 关键参数 字幕流相关
- c语言中的函数可变参数列表相关的三个宏
- Visio命令行启动参数列表
- 其他几个API(2)_获得数据库相关的信息_获得参数信息_获得结果信息
- jrockit相关参数列表
- jdk自带监控工具整理-jstat
- JVM参数设置(GC相关)