jstat -gcutil 输出结果分析_JVM故障分析篇

在上一篇文章《JVM实战优化篇》中,梳理了JVM内存的核心参数,同时对新业务系统上线如何预估容量、垃圾回收器如何选择进行了总结,最后文末还给大家总结了一套通用的JVM参数模板。JVM的调优基本都发生在上线前,尽量争取在压测环节就可以把JVM参数调整到最优,最有效的优化手段是架构和代码层面的优化,如果上线以后发生了JVM故障,最常见的比如频繁FullGC、OOM等场景,就需要善用工具去分析并解决线上问题了。

b8a111ddd3ab3ba79d8aa61c1241563f.png

大纲

一、JVM命令


1.jps,虚拟机进程状况

./jsp直接输出各个JVM进程的PID。

352d9c2d2aff984bb5e1861d1e586d49.png
image.png
2.jstat,虚拟机统计信息监视工具

jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。主要常用这个查看堆的使用情况:

jstat -gc pid

pid是VM的进程号,即当前运行的java进程号,后面还可以加几个参数。

•interval:执行的间隔时间,单位为毫秒•count :打印次数,如果缺省则一直打印

8a852ff036c843731cd2ad4114f4ab8f.png
使用jstat -gc vmid

上面的缩写解释: E-eden, S-suviror, M-metaspace, C-capacity, U-used 前面均为瞬时统计容量(byte) 以下统计了从应用程序启动到采样时的统计综合 YGC :年轻代中gc次数 YGCT :年轻代中gc所用时间(s) FGC:old代(全gc)gc次数 FGCT:(全gc)gc所用时间(s) GCT:gc用的总时间(s)

3.jmap 虚拟机内存映像工具

jmap命令是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。

•堆转储文件:jmap -dump:live,format=b,file=heap-dump.bin•输出所有内存中对象统计,jmap -gc pid,输入的demo如下:

./jmap -heap 5932using thread-local object allocation.Parallel GC with 4 thread(s)Heap Configuration:...Heap Usage:PS Young GenerationEden Space:   capacity = 60293120 (57.5MB)   used     = 44166744 (42.120689392089844MB)   free     = 16126376 (15.379310607910156MB)   73.25337285580842% usedFrom Sp
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值