服务器 CPU 突然飙升并变得无法使用 - 有什么监控/分析技巧吗?

服务器 CPU 突然飙升并变得无法使用 - 有什么监控/分析技巧吗?

我的服务器在过去 24-48 小时内一直处于宕机状态,CPU 峰值从 15% 飙升到 100%,服务器变得无法使用,并且我的所有网站都因此瘫痪。

关于如何追踪我的服务器上发生的事情,有什么提示吗?

有没有什么软件建议可以帮助我防止 CPU 无限期地达到最大容量,并且可以强制自动重启盒子?


如果能有一个关于该做什么的指示就太好了,我将非常感激。:)

答案1

您应该尝试调查问题所在。在重新启动之前检查 /var/log/messages 并按时间检查其他日志。

然后您可以尝试设置类似 virtualbox 的东西用于测试目的,并在其中运行您的主服务器。这会降低生产力但会增加一些稳定性,然后您就可以访问它了。

还要检查自动更新。它们可能会消耗你的 CPU。

答案2

安装 Munin。另外不要害怕嗅探流量

答案3

对于监控,您可以尝试使用 monit - 如果您将失控的服务器置于其控制之下,它应该能够重新启动它。

作为一种快速而肮脏的解决方案,你可以放一些类似的东西

date >> /var/log/cpu_hogs && ps -eo pcpu,pid,user,args | sort -r -k1 | head -5 >> /var/log/cpu_hogs

放入 cron 中每 5 分钟左右运行一次,在崩溃后查看服务器崩溃之前是什么消耗了你的 CPU。

答案4

你应该打开Linux 进程记帐如果您想要了解进程级和用户级 CPU 和其他资源的使用情况(比 /var/log/messages 等通常提供的更详细的历史视图)。

至于服务器无响应时的自动重启,你需要研究的是看门狗(ubuntu 手册页)。

相关内容