内存分析

本文详细介绍了使用jmap和jstat等工具进行JVM性能分析的方法,包括内存堆分析、垃圾回收情况、对象晋升策略及线程状态检查。通过具体命令示例,帮助读者理解如何诊断和优化JVM运行时的问题。

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

《1》 https://www.cnblogs.com/ityouknow/p/5714703.html

《1》数据分析
命令 jmap -histo:live 13 | more

《2》整体分析

命令 jmap -heap 13
https://blog.csdn.net/wcy708708/article/details/80541982
https://www.ytexpress.cn/love/412102.html
https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html

《3》JVM回收情况

命令 jstat -gc 13 1000 200

jstat -gcutil 13 10

什么时候会触发YGC,什么时候触发FGC
https://blog.csdn.net/ITzhangdaopin/article/details/78737641?utm_source=blogxgwz3

悲观策略
https://www.iteye.com/blog/jianshi-dlw-1177146

正因为悲观策略的存在,大家有些时候可能会看到old空间没满但full gc执行的状况。

jstat -gcutil 11911 10

《4》对象如何晋升到老年代

https://blog.csdn.net/weixin_30627381/article/details/97742670

《5》jsatck 查看某个线程的状态 https://www.cnblogs.com/cellei/p/12251053.html

第一:查看占用cpu高的线程

top -Hp 28696

然后把线程ID转成16进制

16进制转成10进制

echo $((0xac))

printf %x 172

找到线程的16进制码 然后
jstack -l pid | grep “16进制的ID”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值