动手实验:使用 jstat 摸清线上系统的JVM运行状况

添加VX:ruyuan0220,回复:CSDN,领取更多精品学习资料!

目录

功能强大的jstat

jstat -gc PID

其他的jstat命令

到底该如何使用jstat工具?

新生代对象增长的速率

Young GC的触发频率和每次耗时

每次Young GC后有多少对象是存活和进入老年代

Full GC的触发时机和耗时

本文总结

今日思考题


功能强大的jstat

平时我们对运行中的系统,如果要检查他的JVM的整体运行情况,比较实用的工具之一,就是jstat

他可以轻易的让你看到当前运行中的系统,他的JVM内的Eden、Survivor、老年代的内存使用情况,还有Young GC和Full gC的执行次数以及耗时。

通过这些指标,我们可以轻松的分析出当前系统的运行情况,判断当前系统的内存使用压力以及GC压力,还有就是内存分配是否合理。下面我们就一点点来看看这个jstat工具的使用。

jstat -gc PID

首先第一个命令,就是在你们的生产机器linux上,找出你们的Java进程的PID,这个大家自行百度一下即可,用jps命令就可以看到。

接着就针对我们的Java进程执行:jstat -gc PID。这就可以看到这个Java进程(其实本质就是一个JVM)的内存和GC情况了。

运行这个命令之后会看到如下列,给大家解释一下:

  1. S0C:这是From Survivor区的大小
  2. S1C:这是To Survivor区的大小
  3. S0U:这是From Survivor区当前使用的内存大小
  4. S1U:这是To Survivor区当前使用的内存大小
  5. EC:这是Eden区的大小
  6. EU:这是Eden区当前使用的内存大小
  7. OC:这是老年代的大小
  8. OU:这是老年代当前使用的内存大小
  9. MC:这是方法区(永久代、元数据区)的大小
  10. MU:这是方法区(永久代、元数据区)的当前使用的内存大小
  11. YGC:这是系统运行迄今为止的Young GC次数
  12. YGCT:这是Young GC的耗时
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值