admin 管理员组文章数量: 887007
Java命令 jstat 详解
jstat(Java Virtual Machine statistics monitoring tool)——查看堆内各个部分的使用量,以及加载类的数量
命令格式:jstat [generalOption | outputOptions vmid [ interval [ s|ms ] [ count ] ] ]
注意:该命令老一点的系统中是不可用,如Windows 98和Windows ME。
注意:下面部分操作截图中,使用的jdk8版本
generalOption:简单通用命令行选项 (-help,-options, or -version)
-help:展示命令相关信息
-version:展示版本信息
-options:显示统计选项的列表。 请参阅下面的输出选项部分
outputOptions:
-statOption:
class:关于类加载器行为的统计信息
compiler:HotSpot即时编译器行为的统计信息
gc:垃圾回收堆行为的统计信息
gacapacity:统计内存三代(young、old、permanent)及他们空间信息
gccause:垃圾收集统计(与-gcutil相同)的摘要,以及最后一个和当前(如果适用)垃圾回收事件的cause
gcnew:新生代的统计信息
gcnewcapacity:新生代及其空间使用情况
gcold:老年代和永久代的统计信息
gcoldcapacity:老年代容量的使用情况
gcpermcapacity:永久代容量的使用情况
gcutil:垃圾回收统计
printcompilation:hotSpot编译器方法统计
-h n:设置隔n行显示header
-t:第一列显示一个时间戳,当前时间与jvm启动时间的时间间隔
-J (option):将选项传递给java程序(例如:-J -Xms48m 将启动内存设置为48兆字节。 -J通过是一个通用的约定执行用Java编写的应用程序的底层VM选项)
下面对于statOption做详细的说明,在使用的过程中,打印的信息表示什么意思
class:类加载统计
jstat -class 4718
Loaded Bytes Unloaded Bytes Time
3297 6221.3 0 0.0 1.46
Loaded:加载class的数量
Bytes:所占用空间大小
Unloaded:未加载数量
Bytes:未加载占用空间
Time:花费在执行类加载和未加载操作上的时间
compiler:HotSpot即时编译器行为的统计信息
Compiled:编译数量
Failed:失败数量
Invalid:不可用数量
Time:编译花费的时间
FailedType:最近一次编译失败的编译类型(网上找了一大圈,发现和我这票相关的文章,几乎内容一模一样,可就是没有这个FailedType字段值的解释,难道真是“天下文章一大抄” ?。无奈,找官方文档,也没找出是啥意思。好吧,我也不纠结了,官方文档地址是:.html#compiler_option 如果有知道的朋友,请在评论区告诉我,谢谢!)
FailedMethod:最近一次编译失败的类名和方法名
gc:垃圾回收堆行为的统计信息
jstat -gc 4718
图1
S0C:survivor 0的容量(KB)
S1C:survivor 1的容量(KB)
S0U:survivor 0已使用情况(KB)
S1U:survivor 1已使用情况(KB)
EC:Eden的空间容量(KB)
EU:Eden已使用情况(KB)
OC:老年代空间容量(KB)
OU:老年代已使用大小(KB)
MC:方法区空间容量(KB)
MU:方法区使用大小(KB)
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
YGC:新生代垃圾回收次数
YGCT:新生代垃圾回收消耗时间
FGC:full gc发生次数
FGCT:full gc消耗时间
GCT:垃圾回收消耗总时间
gacapacity:统计内存三代(young、old、permanent)及他们空间使用信息
jstat -gccapacity 4718
图2
NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:当前新生代容量
S0C:survivor 0的容量
S1C:survivor 1的容量
EC:Eden的空间容量
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:当前老年代容量
OC: 当前老年代空间大小
MCMN: 永久代最小容量
MCMX:永久代最大容量
MC:当前元数据空间大小
CCSMN:最小压缩类空间大小
CCSMX:最大压缩类空间大小
CCSC:当前压缩类空间大小
YGC:年轻代gc次数
FGC:老年代GC次数
gcutil:垃圾回收统计
jstat -gcutil 4718 500 10
图3
S0:survivor 0当前使用比例
S1:survivor 1当前使用比例
E:永久代使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:新生代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
gccause:垃圾收集统计(与-gcutil相同)的摘要,以及上次和当前(如果适用)垃圾回收事件的cause
jstat -gccause 4718 500 10
图4
LGCC:上次垃圾回收的cause
GCC:当前垃圾回收的cause
gcnew:新生代统计
jstat -gcnew 4718 500 10
图5
S0C:survivor 0的容量大小
S1C:survivor 1的容量大小
S0U:survivor 0的使用大小
S1U:survivor 1的使用大小
TT: 对象在新生代存活的次数
MTT: 对象在新生代存活的最大次数
DSS:期望的survivor大小
EC:Eden的容量大小
EU:Eden的使用大小
YGC:新生代垃圾回收次数
YGCT:新生代垃圾回收消耗时间
gcnewcapacity:新生代空间大小统计
jstat -gcnewcapacity 4718 500 10
图6
NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:当前新生代容量
S0CMX:最大survivor 0大小
S0C:当前survivor 0大小
S1CMX:最大survivor 1大小
S1C:当前survivor 1大小
ECMX:最大Eden区空间大小
EC:当前Eden区空间大小
YGC:新生代垃圾回收次数
FGC:老年代回收次数
gcold:老年代和永久代的统计信息
jstat -gcold 4718 500 10
图7
MC:方法区大小
MU:方法区使用大小
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
OC:老年代大小
OU:老年代使用大小
YGC:新生代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
gcoldcapacity:新生代及其空间使用情况
jstat -gcoldcapacity 4718 500 10
图8
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:当前老年代大小
OC:老年代大小
YGC:新生代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
gcpermcapacity:永久代容量的使用情况
PGCMN:perm代中最小容量 (KB)
PGCMX:perm代的最大容量 (KB)
PGC:perm代当前新生成的容量 (KB)
PC:Perm(持久代)的容量 (KB)
YGC:从应用程序启动到采样时新生代中gc次数
FGC:从应用程序启动到采样时老年代(全gc)gc次数
FGCT:从应用程序启动到采样时老年代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
printcompilation:hotSpot编译器方法统计
jstat -printcompilation 4718 500 10
图9
Compiled:最近编译方法的数量
Size:最近编译方法的字节码数量
Type:最近编译方法的编译类型
Method:方法名标识
作者:smallAttr
链接:
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文标签: Java命令 jstat 详解
版权声明:本文标题:Java命令 jstat 详解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732351844h1533301.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论