dockerd High CPU
近日在维护的某业务系统中发现 dockerd 进程的 CPU 占用高达 55%
感觉上不太可能,开始排查
perf top -g -p <pid>
发现大量调用发生在 logger, json 读写等
1 | github.com/docker/docker/daemon/logger/loggerutils.(*forwarder).Do |
docker 默认的 logging driver 为 json-file,json 的读写还是开销大啊!
反正重要的日志也有其它记录方式,不需要依赖 docker logs,果断切换日志记录方式
https://docs.docker.com/config/containers/logging/configure/#configure-the-default-logging-driver
1 | { |
重启 dockerd,效果显著,目前 CPU 占用小于 5%