[JVM]Java命令-jstat

作用

jstat 工具用于检测到的 Java 虚拟机 (JVM) 的性能统计信息,比如GC、内存大小、编译时间等。

命令格式

jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]

generalOption:

   jstat -help|-options

执行 jstat -options命令后各个选项,见下面

选项 描述
-class 类加载行为的统计信息
-compiler 即时编译热点行为的统计
-gc 堆行为的统计
-gcutil 和GC一样,但输出主要关注已使用空间占总空间的百分比
-gccapacity Java堆各个区域使用到的最大和最小空间
-gccause 垃圾回收统计信息 (和 gcutil 相同) , 最后和当前 垃圾回收事件
-gcmetacapacity 输出永久代使用到的最大和最小空间
-gcnew 新生代的统计
-gcnewcapacity 同上,顺带输出主要关注使用到的最大和最小空间
-gcold 年老代和永生代行为统计
-gcoldcapacity 年老代行为统计
-printcompilation 输出已经被JIT编译的方法

outputOptions:

一个或多个输出选项, 包括单个 stat选项, 加上任何-t、h 和 J 选项

vmid:

虚拟机标识符 进程id

ps -ef | grep java

或者

jps -l

interval:

采样间隔在指定的单位,秒(s)或毫秒(ms)。默认单位是毫秒。必须是正整数。如果指定,JSTAT将在每个间隔产生其输出

count:

显示的次数。默认值是无穷大;也就是说,JSTAT显示统计数据,直到目标JVM终止或JSTAT命令终止。必须是正整数

例子

-class选项

输入

jstat -class 29271 1000 20

输出

Loaded  Bytes  Unloaded  Bytes     Time
 22182 42401.0      638   847.4      39.52
 22182 42401.0      638   847.4      39.52
描述
loaded 已经装载的数据量
bytes 装载的字节数
unloaded 卸载类的数量
bytes 卸载类的字节数
time 装载和卸载所花费的时间

-compiler选项

输入

jstat -compiler 29271 1000 20

输出

Compiled Failed Invalid   Time   FailedType FailedMethod
    6663      3       0   108.64          1 org/apache/jasper/xmlparser/ParserUtils convert
    6663      3       0   108.64          1 org/apache/jasper/xmlparser/ParserUtils convert
描述
Compiled 编译任务执行数量
Failed 编译任务执行失败的数量
Invalid 失效的数量
Time 花费的时间
FailedType 失败任务的类型
FailedMethod 失败任务的方法

-gc选项

输入

jstat -gc 29271 1000 20
jstat -gc -t 29271 1s 也可以跟-t 组合

输出

 S0C    S1C    S0U    S1U      EC       EU        OC         OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT
4096.0 4096.0  0.0   3088.4 691200.0 85378.5  1398272.0   337712.4  262144.0 121554.1  25374  413.439   7      5.536  418.975
4096.0 4096.0  0.0   3088.4 691200.0 85727.0  1398272.0   337712.4  262144.0 121554.1  25374  413.439   7      5.536  418.975
描述
S0C 第一个survivor的容量
S1C 第二个survivor的容量
S0U 第一个survivor的使用情况
S1U 第二个survivor的使用情况
EC Eden区的总容量
EU Eden区已使用的容量
OC Old区的总容量
OU Old区已使用的容量
PC 当前perm的容量 (KB)
PU perm的使用 (KB)
YGC 新生代垃圾回收次数
YGCT 新生代垃圾回收时间
FGC 老年代垃圾回收次数
FGCT 老年代垃圾回收时间
GCT 垃圾回收总消耗时间

-gcutil选项

输入

jstat -gcutil 29271 1000 20

输出

 S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
 83.70   0.00  62.04  24.11  46.37  25373  413.423     7    5.536  418.958
 83.70   0.00  62.06  24.11  46.37  25373  413.423     7    5.536  418.958
描述
S0 第一个survivor的容量
S1 第二个survivor的容量
E Eden区的总容量
O Old区的总容量
P 当前perm的容量 (KB)
YGC 新生代垃圾回收次数
YGCT 新生代垃圾回收时间
FGC 老年代垃圾回收次数
FGCT 老年代垃圾回收时间
GCT 垃圾回收总消耗时间

-gccapacity选项

输入

jstat -gccapacity 29271 1000 20

输出

NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC      PGCMN    PGCMX     PGC       PC     YGC    FGC
699392.0 699392.0 699392.0 4096.0 4096.0 691200.0  1398272.0  1398272.0  1398272.0  1398272.0 262144.0 262144.0 262144.0 262144.0  25374     7
699392.0 699392.0 699392.0 4096.0 4096.0 691200.0  1398272.0  1398272.0  1398272.0  1398272.0 262144.0 262144.0 262144.0 262144.0  25374     7
描述
NGCMN 年轻代初始容量(kb)
NGCMX 年轻代最大容量(kb)
NGC 年轻代当前容量
S0C 幸存区1当前容量 (KB)
S1C 幸存区2容量 (KB)
EC 伊甸区容量
OGCMN 老年代初始容量(kb)
OGCMX 老年代最大容量(kb)
OGC 当前老年代容量
OC Old代的容量
PGCMN perm代中初始化(最小)的大小
PGCMX perm代的最大容量
PGC perm代的当前容量
PC 持久代容量
YGC yfc次数
FGC fgc次数

-gccause选项

输入

jstat -gccause 29271 1000 20

输出

  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
  0.00  75.40  72.95  24.15  46.37  25374  413.439     7    5.536  418.975 Allocation Failure   No GC
  0.00  75.40  73.03  24.15  46.37  25374  413.439     7    5.536  418.975 Allocation Failure   No GC
描述
S0 第一个survivor的容量
S1 第二个survivor的容量
E Eden区的总容量
O Old区的总容量
P 当前perm的容量 (KB)
YGC 新生代垃圾回收次数
YGCT 新生代垃圾回收时间
FGC 老年代垃圾回收次数
FGCT 老年代垃圾回收时间
GCT 垃圾回收总消耗时间
LGCC 最近垃圾回收的原因
GCC 当前垃圾回收的原因

-gcnew选项

输入

jstat -gcnew 29271 1000 20

输出

 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
4096.0 4096.0    0.0 3088.4  1  15 4096.0 691200.0 588124.7  25374  413.439
4096.0 4096.0    0.0 3088.4  1  15 4096.0 691200.0 588759.6  25374  413.439
描述
S0C 第一个survivor的容量
S1C 第二个survivor的容量
S0U 第一个survivor的使用情况
S1U 第二个survivor的使用情况
TT 最大持有次数限制
MTT 第二个survivor的使用情况
DSS 期望的幸存者大小
EC Eden区的总容量
EU Eden区已使用的容量
YGC 新生代垃圾回收次数
YGCT 新生代垃圾回收时间

-gcnewcapacity选项

输入

jstat -gcnewcapacity 29271 1000 20

输出

  NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC
  699392.0   699392.0   699392.0 232960.0   4096.0 232960.0   4096.0   698368.0   691200.0 25374     7
  699392.0   699392.0   699392.0 232960.0   4096.0 232960.0   4096.0   698368.0   691200.0 25374     7
描述
NGCMN 年轻代初始容量(kb)
NGCMX 年轻代最大容量(kb)
NGC 年轻代当前容量
S0CMX 幸存区1最大容量 (KB)
S0C 幸存区1当前容量 (KB)
S1CMX 幸存区1最大容量 (KB)
S1C 幸存区2容量 (KB)
ECMX 伊甸区最大容量
EC 伊甸区容量
YGC yfc次数
FGC fgc次数

-gcold选项

输入

jstat -gcold 29271 1000 20

输出

   PC       PU        OC          OU       YGC    FGC    FGCT     GCT
262144.0 121554.1   1398272.0    337896.5  25375     7    5.536  418.995
262144.0 121554.1   1398272.0    337896.5  25375     7    5.536  418.995
描述
PC 持久化容量
PU 持久化使用容量
OC 老年区容量
OU 老年区使用容量
YGC 新生代垃圾回收次数
YGCT 新生代垃圾回收时间
FGC 老年代垃圾回收次数
FGCT 老年代垃圾回收时间

-gcoldcapacity选项

输入

jstat -gcoldcapacity 29271 1000 20

输出

   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT
  1398272.0   1398272.0   1398272.0   1398272.0 25373     7    5.536  418.958
  1398272.0   1398272.0   1398272.0   1398272.0 25373     7    5.536  418.958
描述
OGCMN 老年代中初始化容量
OGCMX 老年代中最大容量
OGC 老年区当前容量
OC Old代的容量
YGC ygc次数
FGC fgc次数
FGCT fgc花费时间
GCT gc的总时间

-printcompilation选项

输入

jstat -printcompilation 29271 1000 20

输出

Compiled  Size  Type Method
    6663   3093    1 com/alibaba/dubbo/registry/support/FailbackRegistry retry
    6663   3093    1 com/alibaba/dubbo/registry/support/FailbackRegistry retry
描述
Compiled 编译任务的数目
Size 方法生成字节码大小
Type 编译类型
Method 编译方法

参考文档

https://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.html#general_options

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容