JAVA语言-Java中jstat的用法
周鸣君 2018-04-04 来源 : 阅读 1624 评论 0

摘要:Jstat是JAVA语言JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。由于JAVA语言中JVM内存设置较大,图中百分比变化不太明显

JDK自带VM分析工具jps,jstat,jmap,jconsole 、jinfo 

Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。由于JVM内存设置较大,图中百分比变化不太明显 

一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。 

jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。 
语法结构: 
Usage: jstat -help|-options 
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] 
参数解释: 
Options — 选项,我们一般使用 -gcutil 查看gc情况 
vmid    — VM的进程号,即当前运行的java进程号 
interval– 间隔时间,单位为秒或者毫秒 
count   — 打印次数,如果缺省则打印无数次 

运行

Java代码  

1. C:\Users\lenovo>jstat -options  
2. -class   类加载统计  
3. -compiler  编译统计  
4. -gc        垃圾回收统计  
5. -gccapacity 堆内存统计  
6. -gccause  最近一次GC统计和原因  
7. -gcmetacapacity 元数据空间统计  
8. -gcnew     新生代垃圾回收统计  
9. -gcnewcapacity 新生代内存统计  
10. -gcold      老年代垃圾回收统计  
11. -gcoldcapacity   老年代内存统计  
12. -gcutil    总结垃圾回收统计  
13. -printcompilation JVM编译方法统计


类加载统计: 

Java代码  

1. C:\Users\lenovo>jstat -class 14044  
2. Loaded  Bytes  Unloaded  Bytes     Time  
3.   2847  3132.1        0     0.0       0.68


类加载字段描述: 
Loaded:加载class的数量 
Bytes:所占用空间大小 
Unloaded:未加载数量 
Bytes:未加载占用空间 
Time:时间 
编译统计: 

Java代码  

1. C:\Users\lenovo>jstat -compiler  14044  
2. Compiled Failed Invalid   Time   FailedType FailedMethod  
3.      618      0       0     0.14          0

编译统计描述: 
    Compiled:编译数量。 
    Failed:失败数量 
    Invalid:不可用数量 
    Time:时间 
    FailedType:失败类型 
    FailedMethod:失败的方法 
垃圾回收统计: 

Java代码  

1. C:\Users\lenovo>jstat -gc  14044  
2.  S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU  
3.    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT  
4. 512.0  512.0   0.0   415.5   4416.0   1459.1   10944.0     4640.2     -      -  
5.     -      -        15    0.033   0      0.000    0.033

描述: 
    S0C:第一个幸存区的大小 
    S1C:第二个幸存区的大小 
    S0U:第一个幸存区的使用大小 
    S1U:第二个幸存区的使用大小 
    EC:伊甸园区的大小 
    EU:伊甸园区的使用大小 
    OC:老年代大小 
    OU:老年代使用大小 
    MC:方法区大小 
    MU:方法区使用大小 
    CCSC:压缩类空间大小 
    CCSU:压缩类空间使用大小 
    YGC:年轻代垃圾回收次数 
    YGCT:年轻代垃圾回收消耗时间 
    FGC:老年代垃圾回收次数 
    FGCT:老年代垃圾回收消耗时间 
    GCT:垃圾回收消耗总时间 
堆内存统计: 

Java代码  

1. C:\Users\lenovo>jstat -gccapacity  14044  
2.  NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC  
3.        OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC  
4.   
5.   5440.0 238912.0   5440.0  512.0  512.0   4416.0    10944.0   477888.0    10944  
6. .0    10944.0        -        -        -        -        -        -     15     0

描述: 
    NGCMN:新生代最小容量 
    NGCMX:新生代最大容量 
    NGC:当前新生代容量 
    S0C:第一个幸存区大小 
    S1C:第二个幸存区的大小 
    EC:伊甸园区的大小 
    OGCMN:老年代最小容量 
    OGCMX:老年代最大容量 
    OGC:当前老年代大小 
    OC:当前老年代大小 
    MCMN:最小元数据容量 
    MCMX:最大元数据容量 
    MC:当前元数据空间大小 
    CCSMN:最小压缩类空间大小 
    CCSMX:最大压缩类空间大小 
    CCSC:当前压缩类空间大小 
    YGC:年轻代gc次数 
    FGC:老年代GC次数 
新生代垃圾回收统计: 

Java代码  

1. C:\Users\lenovo>jstat -gcnew 14044  
2.  S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT  
3.  512.0  512.0    0.0  415.5  1  15  256.0   4416.0   1459.1     15    0.033

描述: 
    NGCMN:新生代最小容量 
    NGCMX:新生代最大容量 
    NGC:当前新生代容量 
    S0CMX:最大幸存1区大小 
    S0C:当前幸存1区大小 
    S1CMX:最大幸存2区大小 
    S1C:当前幸存2区大小 
    ECMX:最大伊甸园区大小 
    EC:当前伊甸园区大小 
    YGC:年轻代垃圾回收次数 
    FGC:老年代回收次数 

老年代垃圾回收统计: 

Java代码  

1. C:\Users\lenovo>jstat -gcold 14044  
2.    MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT  
3.     GCT  
4.        -        -        -        -     10944.0      4640.2     15     0    0.00  
5. 0    0.033

描述: 
    MC:方法区大小 
    MU:方法区使用大小 
    CCSC:压缩类空间大小 
    CCSU:压缩类空间使用大小 
    OC:老年代大小 
    OU:老年代使用大小 
    YGC:年轻代垃圾回收次数 
    FGC:老年代垃圾回收次数 
    FGCT:老年代垃圾回收消耗时间 
    GCT:垃圾回收消耗总时间 
老年代内存统计: 

Java代码  

1. C:\Users\lenovo>jstat -gcoldcapacity  14044  
2.    OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT  
3.     10944.0    477888.0     10944.0     10944.0    15     0    0.000    0.033

描述: 
    OGCMN:老年代最小容量 
    OGCMX:老年代最大容量 
    OGC:当前老年代大小 
    OC:老年代大小 
    YGC:年轻代垃圾回收次数 
    FGC:老年代垃圾回收次数 
    FGCT:老年代垃圾回收消耗时间 
    GCT:垃圾回收消耗总时间 
元数据空间统计: 

Java代码  

1. C:\Users\lenovo>jstat -gcmetacapacity   14044  
2.    MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC  
3. FGCT     GCT  
4.          -          -          -          -          -          -    15     0  
5.  0.000    0.033

描述: 
    MCMN:最小元数据容量 
    MCMX:最大元数据容量 
    MC:当前元数据空间大小 
    CCSMN:最小压缩类空间大小 
    CCSMX:最大压缩类空间大小 
    CCSC:当前压缩类空间大小 
    YGC:年轻代垃圾回收次数 
    FGC:老年代垃圾回收次数 
    FGCT:老年代垃圾回收消耗时间 
    GCT:垃圾回收消耗总时间 
总结垃圾回收统计: 

引用

C:\Users\lenovo>jstat -gcutil 14044   S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   0.00  81.16  33.80  42.40      -      -     15    0.033     0    0.000    0.03 3

描述: 
    S0:幸存1区当前使用比例 
    S1:幸存2区当前使用比例 
    E:伊甸园区使用比例 
    O:老年代使用比例 
    M:元数据区使用比例 
    CCS:压缩使用比例 
    YGC:年轻代垃圾回收次数 
    FGC:老年代垃圾回收次数 
    FGCT:老年代垃圾回收消耗时间 
    GCT:垃圾回收消耗总时间 
JVM编译方法统计: 

Java代码  

1. C:\Users\lenovo>jstat -printcompilation  14044  
2. Compiled  Size  Type Method  
3.      618     13    1 io/netty/util/internal/UnsafeAtomicIntegerFieldUpdater get

描述:Compiled:最近编译方法的数量 
Size:最近编译方法的字节码数量 
Type:最近编译方法的编译类型。 
Method:方法名标识

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言JAVA频道!

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

擅长Hadoop/Spark大数据技术

  • 10
    文章
  • 5488
    人气
  • 87%
    受欢迎度

已有15人表明态度,87%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
JAVA语言-java中的字符串
经验技巧 100% 的用户喜欢
JAVA语言-Object类的equals方法和hashCode方法
经验技巧 100% 的用户喜欢
JAVA语言——网络编程、反射
经验技巧 0% 的用户喜欢
JAVA从入门到精通-java中array的常用操作
经验技巧 0% 的用户喜欢
JAVA语言-java中lambda表达式的使用
经验技巧 0% 的用户喜欢
其他海同师资 更多>>
吕益平
吕益平 联系TA
熟悉企业软件开发的产品设计及开发
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
范佺菁
范佺菁 联系TA
擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!
金延鑫
金延鑫 联系TA
擅长与学生或家长及时有效沟通
程光淼
程光淼 联系TA
精通C、C++等语言、智能芯片开发
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程