当前位置:   article > 正文

Java问题排查-CPU100%与OOM_top -hp 排查oom

top -hp 排查oom

目录

1. 目标

2. 问题CPU100%

3. 问题OOM


JVM排查问题总结

1. 目标

针对CPU100%与OOM问题,列举通用性定位方式。

2. 问题CPU100%

首先定位占用CPU资源高的进程和线程,然后通过线程栈定位code。

步骤和基本命令如下:

  • top -H -d 10   //top cpu load从高到低显示 且10s刷新一次
  • top -Hp pid -d 10   //进程中线程cpu load从高到低显示, 且10s刷新一次
  • printf '0x%x' tid   //将线程id十进制转为16进制
  • sudo -u admin /xxxxx/java/bin/jstack 进程ID | grep 线程ID十六进制 -A num -B num

问题举例

  • hashmap死循环问题

3. 问题OOM

查看JVM现场,关注占用内存多的对象,通过GCROOT观察引用路径,定位可能原因。

需要借助内存分析工具,如JProfiler。

问题举例

  • ThreadLocal未清除问题。

此时使用jmap查看内存 jstat查看gc,已无法定位问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/349167
推荐阅读
相关标签
  

闽ICP备14008679号