如何找到 AWS EC2 上 100% CPU 利用率的原因?

how to find reason for 100% CPU utilization on AWS EC2?

我有一组 EC2 实例:A 和 B(两者都在同一个 AWS 账户中,相同的 Linux OS 版本,相同的区域,但不同的 AZ 和不同的负载平衡)。 当我为 EC2 实例 A 和 B 的队列提供相同的负载时;两者的行为不同。 EC2 A 正常工作,平均 CPU 利用率高达 60%;另一方面,EC2 B 显示 CPU 利用率飙升至 100%,然后它再次从 0 开始,并且在 fleet 的其他实例中发现了同样的努力。

过去有人遇到过这种情况吗?

ssh 到主机 B,通过 top 查看系统 activity,查找消耗大部分 CPU 的进程。 您也可以使用 "lsof" 命令或 ps -fp "PID of the process"

经过分析发现执行了几个安全补丁;这导致了这些尖峰。

我在 MS Server 实例 运行 EC2 上发生过两次这种情况。在这两种情况下,都是 MS 更新服务占用了 CPU 的 100%,烧掉了我所有的 CPU 积分。

重新启动并修复它的唯一方法是设置“实例 T2/T3 无限制”和 stop/disable MS 更新服务。