使用 jstat 命令查看内存使用,监控 Java 应用性能

在 Java 开发和调优中,了解应用程序的内存使用情况、垃圾回收频率等信息至关重要。jstat 是 JDK 中提供的一个命令行工具,用于实时监控 Java 虚拟机的各项统计信息。本文将介绍 jstat 的基本使用方法以及常用选项和输出项的含义。

jstat命令格式

jstat [options]  [interval] [count]
  • options: 指定需要输出的格式和显示的特定统计信息。
  • vmid: Java 虚拟机 ID。
  • interval: 收集统计信息的间隔时间,单位为秒(s)。
  • count: 收集统计信息的次数。

你的Java应用应该在运行中,你可以使用 jps 命令查看运行中的Java进程,查看虚拟机ID。

jstat 常用选项

jstat 的选项主要分为三类,分别用于监控内存使用、类加载和垃圾回收情况:

  • 内存使用相关:gc
  • 类加载相关:class
  • 垃圾回收相关:gcutil

内存使用相关的选项:-gc

该选项提供了内存使用和垃圾回收相关的信息。

示例:

jstat -gc 32988 1s 20
# 虚拟机ID 32988 采样间隔1s 采样数20

image.png

输出参数说明:

  • S0C: 年轻代中第一个幸存区的容量(单位 kb)。
  • S1C: 年轻代中第二个幸存区的容量(单位 kb)。
  • S0U: 年轻代中第一个幸存区目前已使用空间(单位 kb)。
  • S1U: 年轻代中第二个幸存区目前已使用空间(单位 kb)。
  • EC: 年轻代中 Eden 区的容量(单位 kb)。
  • EU: 年轻代中 Eden 区目前已使用空间(单位 kb)。
  • OC: 老年代的容量(单位 kb)。
  • OU: 老年代目前已使用空间(单位 kb)。
  • MC: 元空间的容量(单位 kb)。
  • MU: 元空间目前已使用空间(单位 kb)。
  • CCSC: 压缩类空间大小。
  • CCSU: 压缩类空间使用大小。
  • YGC: 从应用程序启动到采样时年轻代中 GC 次数。
  • YGCT: 从应用程序启动到采样时年轻代中 GC 所用时间(单位 s)。
  • FGC: 从应用程序启动到采样时老年代(full GC)GC 次数。
  • FGCT: 从应用程序启动到采样时老年代(full GC)GC 所用时间(单位 s)。
  • GCT: 从应用程序启动到采样时 GC 总用时(单位 s)。

类加载相关的选项:-class

该选项提供的有关类的装入和卸载相关的信息。

示例:

jstat -class 32988 1s 10
# 虚拟机ID 32988 采样间隔1s 采样数10

image.png

输出参数说明:

  • Loaded:已加载的类
  • Bytes:已加载的字节
  • Unloaded:已卸载的类
  • Bytes:在Unloaded后面,表示已卸载的字节

垃圾回收统计信息相关的选项:-gcutil

该选项提供有关 JVM 垃圾回收统计信息的信息。

示例:

jstat -gcutil 32988 1s 10
# 虚拟机ID 32988 采样间隔1s 采样数10

image.png

输出参数说明:

  • S0:第一个幸存者空间利用率
  • S1:第二个幸存者空间利用率
  • E:伊甸园空间利用率
  • O:老年代空间利用率
  • M:元空间利用率
  • CCS:压缩空间利用率
  • YGC:从应用程序启动到采样时,年轻代垃圾回收次数
  • YGCT:从应用程序启动到采样时,年轻代垃圾回收所用时间,单位s
  • FGC:从应用程序启动到采样时,Full GC次数
  • FGCT:从应用程序启动到采样时,Full GC所用时间,单位s
  • GC:从应用程序启动到采样时,GC用的总时间,单位s

通过 jstat 命令结合这些输出项,可以实时监控 Java 应用程序的内存使用情况和垃圾回收行为,有助于及时发现和解决性能问题。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

github_37151951

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值