Linux服务器CPU持续飙高原因排查离不开这几步!
来源:https://blog.51cto.com/u_14249042/9113840
一、检查CPU使用率
首先在Linux系统中检查CPU使用率。可以通过在命令行中输入top或htop命令来查看当前系统中各个进程的CPU使用率。如果CPU使用率大于80%,则可以考虑进行排查。
$ top
二、检查系统负载
另外可以使用uptime命令来查看系统的平均负载情况。
$ uptime
如果系统负载超过CPU内核数的2倍,则可以认为系统过载。
三、检查系统资源
CPU使用率过高可能是因为某个进程使用了大量的系统资源。可以通过使用pidstat命令查看各个进程的资源使用量。
$ pidstat -p <pid> 1
其中pid为进程ID。以上命令会每秒钟打印一次该进程的资源使用情况,包括CPU使用率、内存使用量等等。
四、检查进程
如果找到了某个进程的资源使用率过高,则需要进一步检查该进程。可以使用strace命令来跟踪该进程的系统调用。
$ strace -p <pid>
以上命令会输出该进程所有的系统调用和返回值,可以帮助我们定位该进程的具体问题。
五、检查系统日志
如果以上方法都没有找到问题,可以考虑查看系统日志,特别是/var/log/messages和/var/log/syslog文件。这些文件中记录了系统的各种事件和错误信息。
$ tail -f /var/log/messages /var/log/syslog
以上命令可以实时输出这些文件的最新内容。
六、检查系统瓶颈
如果以上方法都找不到问题,可以使用系统性能工具来检查系统的瓶颈。其中一种常见的性能工具是perf。可以使用perf top命令来查看系统上耗费CPU时间最多的函数。
$ perf top
以上命令会实时输出系统上相关函数的CPU使用情况。
END
官方站点:www.linuxprobe.com
Linux命令大全:www.linuxcool.com
刘遄老师QQ:5604215
Linux技术交流群:2636170
(新群,火热加群中……)
想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!
微信扫码关注该文公众号作者