docker容器cpu高问题排查_一次dockerd占用CPU过高问题定位

本文描述了一次dockerd服务CPU占用过高的问题及其定位过程。问题表现为Docker服务端CPU达到120%,但自研进程CPU和内存占用正常。经过分析,发现上周五下午dockerd与kubelet断连,后被systemd自动拉起。日志显示flanneld异常可能导致了docker和kubelet网络异常,进一步导致CPU增高。调试过程中,通过开启docker的debug日志和堆栈打印进行问题排查,推测硬盘满可能是flanneld异常的原因。
摘要由CSDN通过智能技术生成

【问题现象】

1、上周五晚上出现Docker服务端的CPU较高问题,单核显示占用120%左右,内存正常;

2、自研进程,cpu内存占用都很小;

3、周一早上上班发现CPU回归正常,单核显示占用3%左右

【分析定位步骤】

1、由于周一早上上班之后,docker服务端的CPU恢复了正常,所以只能查看日志,尝试定位问题

2、查看docker服务日志,发现上周五下午16:25:33秒dockerd(docker服务)和kubelet(k8s节点的work进程)断连,周六早上10:57:24秒,被systemd自动拉起

journalctl -u docker.server -S "2019-12-13 16:25:30"

3、不知为何dockerd会被重启,直接查看查看系统日志/var/log/messages-20191215上下文

发现周六早上10:57:24秒的flanneld(网络规划服务)被systemd(Linux守护进程)认定为异常,systemd对kubelet、docker、flanneld进行了重启,从而整个系统恢复了正常,从上面的日志分析猜测是flanneld出现了未知异常,导致docker和kubelet网络异常,引起docker的cpu增高。

Flanneld异常的原因现在暂时未清楚,但是通过flanneld上面的日志,flanneld重启之前,控制器的服务一直在报挂载卷异常,所以猜测硬盘满了,导致了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值