jstat 命令

jstat是Java虚拟机自带的一个命令行工具,用于实时监控JVM的运行状态,包括类加载、编译、垃圾收集等各项指标。本文详细介绍了jstat的各种参数选项及其用途,例如类统计、编译统计、垃圾回收统计等,帮助开发者更好地理解和优化JVM性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命令参数
# jstat -option -t                                        #option:参数选项,-t:显示系统的时间
# jstat -option -h                                       #指定输出多少行后,输出一次表头
# jstat -option vmid                                   #进程的pid
# jstat -option interval                               #间隔时间,单位:秒
# jstat -option count                                  #统计的次数
# jstat -class                                              #显示加载class的数量,及所占空间等信息
# jstat -compiler                                        #显示JIT编译器编译过的方法、耗时等相关信息
# jstat -gc                                                  #显示堆状况,包括eden区、survivor区(s0,s1)、老年代、永久代等
# jstat -gccapacity                                     #显示各个代的容量以及使用情况
# jstat -gcmetacapacity                             #显示metaspace的大小
# jstat -gcnew                                            #显示新生代信息
# jstat -gcnewcapacity                               #显示新生代大小和使用情况
# jstat -gcold                                              #显示老年代和永久代的信息
# jstat -gcoldcapacity                                 #显示老年代的大小
# jstat -gcutil                                              #显示垃圾收集信息的百分比
# jstat -gccause                                         #显示垃圾回收的相关信息,并显示最后一次和当前gc原因
# jstat -gcpermcapacity                             #显示永久代大小和使用情况
# jstat -printcompilation                             #输出JIT编译的方法信息 

1、类统计
# jstat -class 26572
  Loaded  Bytes  Unloaded  Bytes     Time   
   18828  38629.4   176    278.5     35.08
Loaded                                                     #已装载类的数量
Bytes                                                        #装载类所占用空间大小
Unloaded                                                  #已卸载类的数量
Bytes                                                        #卸载类所占用空间大小
Time                                                         #装载和卸载类所花费的时间

2、编译统计
# jstat -compiler 26572
  Compiled  Failed Invalid   Time   FailedType   FailedMethod
    4420      0       0     68.03          1  com/mysql/jdbc/AbandonedConnectionCleanupThread run       
Compiled                                                #编译任务执行数量
Failed                                                      #编译任务执行失败数量
Invalid                                                     #编译任务执行失效数量
Time                                                        #编译任务消耗时间
FailedType                                              #最后一个编译失败任务的类型
FailedMethod                                         #最后一个编译失败任务的类及方法

3、垃圾回收统计
# jstat -gc 26572
  S0C    S1C    S0U  S1U    EC      EU      OC       OU      PC      PU      YGC   YGCT  FGC  FGCT  GCT   
  30208  23040  0.0  22706  691200  250577  1499136  618127  262144  115183  4734   92    2   2.9   95.8
S0C                                                     #年轻代s0(survivor)的容量,单位:字节
S1C                                                     #年轻代s1的容量
S0U                                                     #年轻代s0,已使用的空间,单位:字节
S1U                                                     #年轻代s1,已使用的空间
EC                                                      #年轻代e区(Eden)的容量,单位:字节
EU                                                      #年轻代e区,已使用的空间,单位:字节
OC                                                      #老年代的容量,单位:字节
OU                                                      #老年代,已使用的空间,单位:字节
MC                                                      #方法区(metaspace)的容量,单位:字节
MU                                                      #方法区,已使用空间,单位:字节
CCSC                                                    #压缩类空间大小
CCSU                                                    #压缩类空间使用大小
YGC                                                     #年轻代gc次数
YGCT                                                    #年轻代垃圾回收消耗时间,单位秒
FGC                                                     #老年代gc次数
FGCT                                                    #老年代垃圾回收消耗时间,单位秒
GCT                                                     #gc消耗总时间

4、堆内存统计
# jstat -gccapacity 26572
  NGCMN  NGCMX  NGC    S0C    S1C    EC     OGCMN  OGCMX  OGC    OC     PGCMN  PGCMX  PGC    PC     YGC   FGC 
  71958  71958  71958  30208  29184  69076  19136  19136  19136  19136  26210  52288  26210  26210  4735   2
NGCMN                                                   #年轻代初始化大小,单位:字节
NGCMX                                                   #年轻代最大容量,单位:字节
NGC                                                     #年轻代当前容量,单位:字节
S0C                                                     #年轻代s0的容量,单位:字节
S1C                                                     #年轻代s1的容量,单位:字节
EC                                                      #年轻代e区的容量,单位:字节
OGCMN                                                   #老年代初始化大小,单位:字节
OGCMX                                                   #老年代最大容量,单位:字节
OGC                                                     #老年代当前容量,单位:字节
OC                                                      #老年代当前容量,单位:字节
MCMN                                                    #方法区初始化大小,单位:字节
MCMX                                                    #方法区最大容量,单位:字节
MC                                                      #方法区当前容量,单位:字节
CCSMN                                                   #最小压缩类空间大小
CCSMX                                                   #最大压缩类空间大小
CCSC                                                    #当前压缩类空间大小
YGC                                                     #年轻代gc次数
FGC                                                     #老年代gc次数

5、元数据空间统计
# jstat -gcmetacapacity 26572
  MCMN  MCMX     MC      CCSMN  CCSMX    CCSC   YGC   FGC  FGCT  GCT   
  0.0   1173504  139980  0.0    1048576  15104  3577   5   2.36  58.81
MCMN                                                    #最小元数据容量
MCMX                                                    #最大元数据容量
MC                                                      #当前元数据空间大小
CCSMN                                                   #最小压缩类空间大小
CCSMX                                                   #最大压缩类空间大小
CCSC                                                    #当前压缩类空间大小
YGC                                                     #年轻代gc次数
FGC                                                     #老年代gc次数
FGCT                                                    #老年代gc消耗的时间,单位:秒
GCT                                                     #gc的总时间,单位:秒

6、新生代垃圾回收统计
# jstat -gcnew 26572
  S0C    S1C    S0U  S1U   TT  MTT  DSS    EC      EU    YGC   YGCT  
  23040  24064  0.0  1212  15  15   23040  70016  29782  3585  56.693
S0C                                                     #年轻代s0的容量,单位:字节
S1C                                                     #年轻代s1的容量,单位:字节
S0U                                                     #年轻代s0,已使用空间,单位:字节
S1U                                                     #年轻代s1,已使用空间,单位:字节
TT                                                      #对象在年轻代存活的次数
MTT                                                     #对象在年轻代存活的最大次数
DSS                                                     #期望的s区大小
EC                                                      #年轻代e区的容量,单位:字节
EU                                                      #年轻代e区,已使用空间,单位:字节
YGC                                                     #年轻代gc次数
YGCT                                                    #年轻代gc消耗的时间,单位:秒

7、新生代内存统计
# jstat -gcnewcapacity 26572
  NGCMN  NGCMX  NGC    S0CMX  S0C    S1CMX  S1C    ECMX   EC     YGC   FGC 
  79568  79568  79568  29856  16384  29856  17408  72522  70728  3591  5
NGCMN                                                   #年轻代初始化的大小,单位:字节
NGCMX                                                   #年轻代最大容量,单位:字节
NGC                                                     #年轻代当前容量,单位:字节
S0CMX                                                   #年轻代s0最大容量,单位:字节
S0C                                                     #年轻代s0当前的容量,单位:字节
S1CMX                                                   #年轻代s1最大容量,单位:字节
S1C                                                     #年轻代s1当前的容量,单位:字节
ECMX                                                    #年轻代e区最大容量,单位:字节
EC                                                      #年轻代e区当前的容量,单位:字节
YGC                                                     #年轻代gc次数
FGC                                                     #老年代gc次数

8、老年代垃圾回收统计
# jstat -gcold 26572
  MC     MU     CCSC  CCSU  OC     OU     YGC   FGC  FGCT   GCT   
  17236  12923  1510  1303  11913  10376  3598   5   2.316  59.235
MC                                                      #方法区的容量,单位:字节
MU                                                      #方法区,已使用空间,单位:字节
CCSC                                                    #压缩类空间大小
CCSU                                                    #压缩类空间使用大小
OC                                                      #老年代的容量,单位:字节
OU                                                      #老年代,已使用空间,单位:字节
YGC                                                     #年轻代gc次数
FGC                                                     #老年代gc次数
FGCT                                                    #老年代gc消耗的时间
GCT                                                     #gc的总时间,单位:秒

9、老年代内存统计
# jstat -gcoldcapacity 26572
  OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   
  1499136.0   1499136.0   1499136.0   1499136.0  3603     5    2.316   59.322
OGCMN                                                   #老年代初始化大小,单位:字节
OGCMX                                                   #老年代最大容量,单位:字节
OGC                                                     #老年代当前的容量,单位:字节
OC                                                      #老年代当前的容量,单位:字节
YGC                                                     #年轻代gc次数
FGC                                                     #老年代gc次数
FGCT                                                    #老年代gc消耗的时间
GCT                                                     #gc的总时间,单位:秒

10、持久代空间统计
# jstat -gcpermcapacity 26572
  PGCMN  PGCMX  PGC    PC     YGC   FGC  FGCT   GCT   
  26214  52428  26214  26214  4742   2   2.902  96.146
PGCMN                                                   #持久代初始化大小
PGCMX                                                   #持久代最大容量
PGC                                                     #持久代当前的大小
PC                                                      #持久代当前的大小
YGC                                                     #年轻代gc的次数
FGC                                                     #老年代gc的次数
FGCT                                                    #老年代gc消耗的时间
GCT                                                     #gc的总时间,单位:秒

11、垃圾回收统计
# jstat -gcutil 26572
  S0    S1    E      O      M      CCS    YGC   YGCT   FGC  FGCT  GCT   
  0.00  4.92  83.77  89.38  92.15  86.32  3607  57.09   5   2.31  59.41
S0                                                      #年轻代s0,当前使用的百分比
S1                                                      #年轻代s1,当前使用的百分比
E                                                       #年轻代e区,当前使用的百分比
O                                                       #老年代,当前使用的百分比
P                                                       #持久代,当前使用的百分比
M                                                       #方法区,当前使用的百分比
CCS                                                     #压缩类,当前使用的百分比
YGC                                                     #年轻代gc次数
YGCT                                                    #年轻代gc消耗的时间
FGC                                                     #老年代gc次数
FGCT                                                    #老年代gc消耗的时间
GCT                                                     #gc的总时间,单位:秒

12、垃圾回收统计及原因(和gcutil显示一样,同时最后显示原因)
# jstat -gccause 26572
  S0    S1    E      O      M      CCS    YGC   YGCT   FGC  FGCT  GCT    LGCC                GCC
  0.00  4.92  83.77  89.38  92.15  86.32  3607  57.09   5   2.31  59.41  Allocation Failure  No GC 
LGCC                                                    #最后一次GC原因
GCC                                                     #当前GC原因(No GC: 没有执行GC)

13、JVM编译方法统计
# jstat -printcompilation 26572
  Compiled  Size  Type  Method
  4420      169    1    java/util/Timer purge
Compiled                                                #编译方法的数量
Size                                                    #编译方法的字节码的大小
Type                                                    #编译类型
Method                                                  #类名和方法名(格式由-XX:+PrintComplation参数决定)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值