我该如何监控我的 EC2 实例 CPU 使用率,如果它长时间保持在 100% 并且重新启动它?

我该如何监控我的 EC2 实例 CPU 使用率,如果它长时间保持在 100% 并且重新启动它?

每隔一段时间(可能每 3 个月一次),我们的实例就会突然达到 100% 的 CPU 使用率并被锁定并且变得非常无响应。

我想找到一种方法来检测这种情况并启动重新启动;实现这一目标的最佳方法是什么?

我们有 Cloudwatch 订阅。我们正在运行 Ubuntu Server 10.04。

答案1

认真地解决这个问题。您的 CPU 使用率达到 100% 的原因可能有很多,当这种情况发生时重新启动服务器或终止进程只会带来灾难。如果这是第三方实用程序 - 请在此处列出它或向维护人员提交错误。

如果这是一个自行开发的实用程序,那么很显然您的应用程序存在问题。我的第一直觉是检查任何可能使用大量处理能力的循环的边界。另一个是检查是否满足终止条件。不过,老实说,这是一个调试问题,应该在内部处理。

至于你的实际问题,可能没有内置任何东西——但只要有正确的权限,你当然可以配置纳吉奥斯当检测到某些情况时触发远程重启(即通过 ssh)。您可以使用系统负载指示器(用法 !=加载)来监控 15 分钟间隔内的某个最大值。您也可以通过 cron 脚本来执行此操作,例如,每分钟运行一次

我希望你能修复这个错误,而不是绕过它——未来的维护者会感激你的,尤其是你!

相关内容