![为什么docker容器消耗巨大的CPU平均负载](https://linux22.com/image/197820/%E4%B8%BA%E4%BB%80%E4%B9%88docker%E5%AE%B9%E5%99%A8%E6%B6%88%E8%80%97%E5%B7%A8%E5%A4%A7%E7%9A%84CPU%E5%B9%B3%E5%9D%87%E8%B4%9F%E8%BD%BD.png)
我想讨论一下我们的 rhel 7.6 服务器上的奇怪行为
我们在服务器 kafka-01 机器上安装了带容器的 Kafka 导出器(机器上的总 CPU 为 12 )
以下yml
文件描述了 Kafka 导出器容器配置
more docker.kafka-exporter.yml
---
version: '2.4'
services:
kafka-exporter:
mem_limit: "612m"
image: kafka-exporter:v1.2.0
restart: always
network_mode: host
container_name: kafka-exporter
command: ["--kafka.server=kafka01.sys65.com:6667"]ump
ports:
- 9308:9308
logging:
driver: "json-file"
options:
max-size: "15m"
max-file: "1"
所以当我们用 启动容器时dockr-compose
,如docker-compose -f docker.kafka-exporter.yml up -d
我们注意到 CPU 平均负载在 1-2 小时后从~2-3
到跳跃30-40
并且只有重新启动机器才能将正常的CPU平均负载恢复到正常(左右1 - 2
),但是每次启动docker compose时CPU都会再次跳跃(即使停止docker compose也不会降低CPU平均负载)
有人可以暗示这种奇怪行为的原因是什么吗?
关于我们的案例,考虑安装是否有用https://github.com/draios/sysdig,进行调查?
笔记:
uptime
我们通过linux 命令验证了 CPU 负载 avrg
有时机器变成冻结或者悬挂所以我们无法访问机器,只有重新启动才能使机器恢复正常