我试图了解docker容器与其主机之间的关系。我的设置如下:
我所看到的:
我有大约 16 个容器在 docker 中运行。根据 docker stats 的报告,大多数只使用了 CPU 的一小部分。尤其是利用率徘徊在 100% 左右,有时甚至远高于 100%。
当我查看主机 lxc 容器上的 CPU 利用率时,它的空闲率约为 96%。我很困惑为什么 docker 容器运行得如此“热”并且没有使用更多可用的硬件。我发现了很多关于设置限制的文档,但没有相反的文档 - 这应该是默认行为。
好像允许 CPU 突破 100%,我没有看到任何性能类型问题 - 但看到我的监控图表上有 100% 的情况让我很困扰:)
我可以采取任何行动来补救这个问题,还是我就保持原样?
显然,
docker stats
显示了所有CPU核心的容器CPU使用率,如果您的容器使用120%并且主机有N个核心,则每个核心的平均CPU使用率为120%/N。
您可以限制 docker 容器的 CPU 使用,在 docker 命令中使用以下标志
--cpus=“1.0”
示例
docker run --cpus="1.0" --name my_container <docker image name>