systemd,docker或systemd-journal(在稳定的CoreOS上)使用高CPU
我在AWS EC2 t2.micro实例上运行CoreOS稳定的AMI。 在这个实例上运行的唯一一个不能在纯粹的CoreOS上运行的进程是nginx,它每天只能提供一些请求(而不是产品),根据我的NewRelic服务器使用0.01%的CPU。
我发现我每周或者2个CPU用完了,导致实例完全没有响应。 它看起来像systemd是罪魁祸首每个图下面。
*注:我认识到一个简单的解决办法是升级实例或不使用t2,但我想find问题的根源并修复它,而不是花费更多的钱在一个很难被使用的实例上。 我希望能够使用t2.micro实例,而不用担心核心进程使其不稳定。
这是我的24小时来自NewRelic的进程CPU使用情况图:
以下是我的AWS CloudWatch图表,用于在同一个24小时范围内的CPU贷方余额,CPU利用率和CPU贷方使用情况。
这是我2个星期的CPU贷方余额。 你会发现它随着时间的推移逐渐减less,有一些尖锐的尖峰/下降。
值得注意的是,如果我重新启动实例,并通过top
观察进程,则docker,systemd和systemd-journal的CPU使用率并不高。 这是一个多小时。
这是过去24小时内的系统。 看到它正在使用一致的2-5%的CPU,然后达到15%,这正好在CPU用完之前,然后在重新启动之后,它一直是稳定的<1%。