jstat(JVM Statistics Monitoring Tool):虚拟机统计信息监视工具

官方文档:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jstat.html
官方文档:https://docs.oracle.com/javase/jp/8/docs/technotes/tools/windows/jstat.html

jstat (JVM Statistics Monitoring Tool)

  • 位于jdk/bin/jstat.exe
  • 监视本地JVM或者远程JVM进程中的类加载、内存、垃圾收集、即时编译等运行时数据。
    在这里插入图片描述
    -----------------------------------------------------------------------------读书笔记摘自 书名:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)作者:周志明

使用时机

在没有GUI图形界面、只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的常用工具。


启动方式

方式1、win+r → cmd → 直接使用jstat命令

在这里插入图片描述

方式2、idea → alt + f12 → 直接使用jstat命令

在这里插入图片描述


常见用法

统计已加载的类数量、卸载的类数量、总字节数等

jps -l2828 com.zhangziwa.practisesvr.model.Main
jstat -class 2828   

Loaded  Bytes  Unloaded  Bytes     Time   
  1022  2390.0        0     0.0       0.08

Loaded: 已加载的类的数量为 3456 个。
Bytes: 已加载的类占用的字节数为 102400 字节(即 100 KB)。
Unloaded: 已卸载的类的数量为 1234 个。
Bytes: 已卸载的类释放的字节数为 49152 字节(即 48 KB)。
Time: 类加载和卸载所花费的时间为 12.345

统计编译任务的数量、编译时间等

jps -l2828 com.zhangziwa.practisesvr.model.Main
jstat -compiler 2828

Compiled Failed Invalid   Time   FailedType FailedMethod
     617      1       0     0.44          1 java/util/HashMap putVal

Compiled: 已成功编译的方法数量为 1234 个。
Failed: 编译失败的方法数量为 5 个。
Invalid: 被标记为无效的方法数量为 10 个。
Time: 编译所花费的时间为 12.3 秒。
FailedType: 最后一次编译失败的原因类型为 0(表示正常,即没有特定的失败原因)。
FailedMethod: 最后一次编译失败的方法名称为空(用 - 表示),意味着没有具体的失败方法记录。

统计不同内存区域的使用百分比以及GC事件的详细信息

jps -l2828 com.zhangziwa.practisesvr.model.Main
jstat -gcutil 2828

  S0     S1     E      O      M     CCS    YGC     YGCT     FGC    FGCT     CGC    CGCT       GCT   
  0.00   0.00  22.08   8.37  85.29  43.60    812     0.469     0     0.000     0     0.000     0.469

S0: Survivor 0 区的使用率为 0.0%。
S1: Survivor 1 区的使用率为 0.0%。
E: Eden 区的使用率为 41.6%。
O: Old 区的使用率为 8.3%。
M: Metaspace 的使用率为 85.3%。
CCS: Compressed Class Space 的使用率为 43.7%。
YGC: Young GC 次数为 410 次。
YGCT: Young GC 花费的时间为 0.235 秒。
FGC: Full GC 次数为 0 次。
FGCT: Full GC 花费的时间为 0.000 秒。
GCT: 总的 GC 花费的时间为 0.235 秒。

统计不同内存区域的使用情况以及GC事件的详细信息

jps -l2828 com.zhangziwa.practisesvr.model.Main
jstat -gc 2828

S0C         S1C         S0U         S1U          EC           EU           OC           OU          MC         MU       CCSC      CCSU     YGC     YGCT     FGC    FGCT     CGC    CGCT       GCT
  0.0         0.0         0.0         0.0     157696.0      65536.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    410     0.235     0     0.000     0     0.000     0.235

S0C: Survivor 0 区的容量为 8192.0 KB
S1C: Survivor 1 区的容量为 8192.0 KB
S0U: Survivor 0 区已使用的空间为 0.0 KB(表示当前为空)
S1U: Survivor 1 区已使用的空间为 0.0 KB(表示当前为空)
EC: Eden 区的容量为 262144.0 KB
EU: Eden 区已使用的空间为 131072.0 KB(即 Eden 区的一半已被使用)
OC: Old 区的容量为 524288.0 KB
OU: Old 区已使用的空间为 419430.4 KB(即 Old 区大约 80% 已被使用)
MC: Metaspace 的容量为 104857.6 KB
MU: Metaspace 已使用的空间为 83886.1 KB(即 Metaspace 大约 80% 已被使用)
CCSC: Compressed Class Space 的容量为 10485.76 KB
CCSU: Compressed Class Space 已使用的空间为 8388.61 KB(即 Compressed Class Space 大约 80% 已被使用)
YGC: Young GC 次数为 410 次
YGCT: Young GC 花费的时间为 0.235 秒
FGC: Full GC 次数为 2 次
FGCT: Full GC 花费的时间为 0.567 秒
GCT: 总的 GC 花费的时间为 0.802
jps -l2828 com.zhangziwa.practisesvr.model.Main
jstat -gc -h3 2828 1000 10   # id=2828的进程的gc情况,每隔1000ms打印一次记录,打印10次停止,每3行后打印指标头部

    S0C         S1C         S0U         S1U          EC           EU           OC           OU          MC         MU       CCSC      CCSU     YGC     YGCT     FGC    FGCT     CGC    CGCT       GCT   
        0.0         0.0         0.0         0.0     157696.0     104448.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    780     0.446     0     0.000     0     0.000     0.446
        0.0         0.0         0.0         0.0     157696.0      24576.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    781     0.447     0     0.000     0     0.000     0.447
        0.0         0.0         0.0         0.0     157696.0      88064.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    781     0.447     0     0.000     0     0.000     0.447
    S0C         S1C         S0U         S1U          EC           EU           OC           OU          MC         MU       CCSC      CCSU     YGC     YGCT     FGC    FGCT     CGC    CGCT       GCT   
        0.0         0.0         0.0         0.0     157696.0       4096.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    782     0.447     0     0.000     0     0.000     0.447
        0.0         0.0         0.0         0.0     157696.0      67584.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    782     0.447     0     0.000     0     0.000     0.447
        0.0         0.0         0.0         0.0     157696.0     131072.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    782     0.447     0     0.000     0     0.000     0.447
    S0C         S1C         S0U         S1U          EC           EU           OC           OU          MC         MU       CCSC      CCSU     YGC     YGCT     FGC    FGCT     CGC    CGCT       GCT   
        0.0         0.0         0.0         0.0     157696.0      47104.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    783     0.448     0     0.000     0     0.000     0.448
        0.0         0.0         0.0         0.0     157696.0     106496.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    783     0.448     0     0.000     0     0.000     0.448
        0.0         0.0         0.0         0.0     157696.0      18432.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    784     0.448     0     0.000     0     0.000     0.448
    S0C         S1C         S0U         S1U          EC           EU           OC           OU          MC         MU       CCSC      CCSU     YGC     YGCT     FGC    FGCT     CGC    CGCT       GCT   
        0.0         0.0         0.0         0.0     157696.0      69632.0      92160.0       7710.0     1536.0     1310.1     192.0      83.7    784     0.448     0     0.000     0     0.000     0.448

统计堆各个内存区域的容量信息,包括初始容量、当前容量和最大容量

jstat -gccapacity 2828

NGCMN        NGCMX         NGC          S0C     S1C              EC         OGCMN        OGCMX         OGC           OC         MCMN       MCMX        MC       CCSMN     CCSMX     CCSC     YGC    FGC   CGC 
    0.0    3983360.0     157696.0         0.0         0.0     157696.0          0.0    3983360.0      92160.0      92160.0        0.0  1056768.0     1536.0       0.0 1048576.0     192.0    864     0     0

NGCMN: 新生代最小容量为 344064.0 KB。
NGCMX: 新生代最大容量为 786432.0 KB。
NGC: 当前新生代容量为 344064.0 KB。
S0C: Survivor 0 区的初始容量为 8192.0 KB。
S1C: Survivor 1 区的初始容量为 8192.0 KB。
EC: Eden 区的初始容量为 227840.0 KB。
OGCMN: 老年代最小容量为 524288.0 KB。
OGCMX: 老年代最大容量为 1048576.0 KB。
OGC: 当前老年代容量为 524288.0 KB。
OC: Old 区的初始容量为 524288.0 KB。
MCMN: Metaspace 最小容量为 10485.76 KB。
MCMX: Metaspace 最大容量为 104857.6 KB。
MC: 当前 Metaspace 容量为 1536.0 KB。
CCSMN: Compressed Class Space 最小容量为 1048.58 KB。
CCSMX: Compressed Class Space 最大容量为 10485.76 KB。
CCSC: 当前 Compressed Class Space 容量为 192.0 KB。
YGC: Young GC 次数为 410 次。
FGC: Full GC 次数为 0 次。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值