docker容器cpu高问题排查_DOCKER容器监控CPU使用率为0的问题分析

一、问题现象

1、主机上面所有docker容器通过docker stats获取不到动态的资源利用率;docker top无进程信息.

2、但是各个容器正常运行,容器内部进程可以正确查询到,并且容器承载的服务正常

二、问题分析

因为只是资源使用和进程信息从宿主机侧无法获取,怀疑跟docker使用cgroup实现资源隔离控制有关系,查看了容器对应的cpu/mem等的cgroup组cgroup.procs文件,发现该文件中对应的进程组丢失。但是对于为何出现这种现象,咨询了现场同事,一开始反馈没有对环境做过特殊操作,家里实验室环境也反馈未进行特殊操作和配置,一时感觉问题现象和实际情况无法匹配,同事一开始怀疑是docker资源计算的问题,研究了docker资源利用率计算代码,通过命令行和api获取资源数据发现压根没有更新,最终确认该问题跟资源计算无关。

继续朝着cgroup的方向怀疑和分析,查看了部分git问题和systemd的一些问题修改,坚定认为还是cgroup问题。

三、问题复现场景

问题复现步骤:

a:启动一个容器:docker run -tid 10.1.245.31:5000/tomcat_hps:1.0

b:  重新加载systemd的配置:systemctl daemon-reload

c:  重启主机上面任意一个systemd控制的服务(非docker):systemctl restart sshd

执行完上面步骤a之后,容器正确拉起,并且可以通过docker top查询到进程信息,通过docker stats获取资源使用情况;执行完步骤c,之后再次查

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值