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%。

在这里输入图像说明