虚拟机 CPU 使用率为 100%

gpu*_*len 6 monitoring virtual-machines graphite docker

我们的指标框上的 CPU 使用率间歇性地为 100%,导致:
渲染 Grafana 仪表板时出现“内部服务器错误”

在我们的机器上运行的唯一应用程序是带有 3 个子容器的 Docker

  • 管理员
  • 石墨

  • 格拉法纳

机器规格
操作系统版本 Ubuntu 16.04 LTS
版本 16.04 (xenial)
内核版本 4.4.0-103-generic
Docker 版本 17.09.0-ce
CPU 4 核
内存 4096 MB
内存预留无限制
网络适​​配器管理

存储
驱动overlay2
Backing Filesystem extfs
Supports d_type true
Native Overlay Diff true

内存交换限制为 2.00GB

以下是来自 cAdvisor 的片段:

在此处输入图片说明

kworker 和 ksoftirqd 进程不断地将状态从“D”更改为“R”到“S”

机器规格是否适合此设置?
如何使 CPU 使用率达到“正常”水平?

编辑

将内存从 4GB 增加到 8GB 后,它按预期工作了几天,但随着时间的推移,CPU 使用率增加了:
在此处输入图片说明

Pau*_*ear 3

您有 4 个 ksoftirqd,使用了 39% 的 CPU。该值相当高,可能表明存在许多问题,例如高 I/O 负载、电源管理问题或内核/设备驱动程序错误。

尝试更新到最新的内核,确保您选择了适当的变体(例如,有专门针对 AWS 和 Azure 调整的 Ubuntu 内核),并查看一些 Linux I/O 性能故障排除工具。

Brendan Gregg 的博客是有关 Linux 性能故障排除的重要资源