OOM排查

一般CPU100%疯狂GC,都是死循环的锅,那怎么排查呢?

1):先进服务器,用top -c 命令找出当前进程的运行列表

2):按一下 P 可以按照CPU使用率进行排序

显示Java进程 PID 为 2609 的java进程消耗最高

然后我们需要根据PID 查出CPU里面消耗最高的进程

3):使用命令 top -Hp 2609 找出这个进程下面的线程,继续按P排序

可以看到 2854 CPU消耗最高

2854是十进制的,我们需要转换为十六进制,转换结果: b26

接下来就需要导出我们的进程快照了,看看这个线程做了啥

jstack -l 2609 > ./2609.stack

再用grep查看一下线程在文件里做了啥

cat 2609.stack |grep 'b26' -C 8

我这里就随便定位一个,基本上这样查都可以定位到你死循环的那个类,那一行

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、jdk 自带基础工具 2、MAT 分析dump 3、VM 实时监控 4 、遇到过OOM 内存溢出有哪些 1、J...
    smallsun512阅读 13,312评论 0 2
  • 1、jdk 自带基础工具 2、MAT 分析dump 3、VM 实时监控 4 、遇到过OOM 内存溢出有哪些 1、J...
    多多的大白阅读 4,821评论 0 0
  • 钉钉群收到告警,redis服务两个挂了。登录服务器通过dmesg命令查看进程挂掉原因,看到以下日志 日志内容显示 ...
    taj3991阅读 5,443评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,187评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 13,585评论 0 11