Java应用内存溢出排查

Java应用 内存溢出&CPU占满 排查

  • 1.获取异常进程ID
top -m
  • 2.保存堆快照
jmap -dump:format=b,file=/data/logdir/dump.hprof [PID]
  • 3.观察GC状况
# 采样10次(2秒/次)后结束, 5行1组输出
jstat -gcutil -t -h5 [PID] 2s 10
  • 4.获取进程内线程详情, 观察异常线程ID
top -Hp [PID]
  • 5.根据线程id的16进制过滤出JVM线程, 大致得知是哪块线程出问题
jstack 进程ID | grep (`printf '%x' 线程ID`)
  • 6.利用EclipseMemoryAnalyzer分析, 导入堆快照, 选择 Leak Suspects, 查看问题对象

  • 7.利用Jdk自带JavaVisual导出快照后找到对应的类实例, 右键显示最近的垃圾回收根节点后选中实例右键在线程中显示, 定位对象产生代码段。

posted @   coder_klong  阅读(320)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示