CPU过高如何进行排查

面试的时候会问道 CPU 负载过高如何进行排查的问题。

CPU 达到98%这样基本都是因为死锁等导致的。解决的方法如下:

alt

通过top命令查看系统中的进程。一般是我们的 Java 线程占用的 CPU 很高,比如死锁等情况,内存泄露,full GC 等情况,导致 CPU 变高了。

top 命令,找到 ID

alt

第一个是进程的ID、然后还有CPU的使用率。

top -Hp PID 查看下面的线程 ID。

看到 Redis 下面所有线程的信息,同理可以查看 Java 程序下面的进程

alt

将线程 id 转为 16 进制的数字

printf “%x\n” {tid}

如果是 Java 环境,那么在配合 jstack 进行排查,可以拿到 JVM 的快照,对快照进行分析。

通过 jstack 线程 id 拿到出错的地方快照

alt

最后进入到代码里面寻找错误的原因。

#CPU负载太高#
牛牛的面试专栏 文章被收录于专栏

牛牛的面试专栏,希望自己在25年可以拿到一份大厂的SP Offer 你的点赞和收藏都是我持续更新的动力

全部评论

相关推荐

评论
3
15
分享

创作者周榜

更多
牛客网
牛客企业服务