docker集装箱的/ proc / <pid> / stat不更新CPU统计

我正在运行Docker版本1.9.1,生成a34a1d5。 我注意到,在ps/proc/[pid]/stat为docker容器中运行的进程报告的CPU stat数据可能有问题。 一旦进程繁忙,CPU状态数据不会定期更新。

我有一个perl脚本运行ps w -e -o pid,ppid,uid,vsz,rss,etime,time,args每分钟一次,然后存储并减less输出。 所有的值,如rss,etime等更新正常。 但是,在docker容器的进程中,CPU time字段有时会随机更新。 由于我知道工作负载是不变的,CPU时间的变化应该是相当平均的。 docker ps显示工作量是恒定的,但是ps/proc/pid/stat不是。

一个进程的CPU时间样本(每分钟进行一次ps ):00:12:55,00:12:55,00:12:55,00:12:55,00:12:55,00:13:53 ,00:13:53,00:13:53,00:13:53,00:13:53,00:15:04,00:15:04,

docker工人不同的过程发生在我身上。 当进程第一次变得“忙碌”的时候,似乎就开始发生了(虽然忙于我仍然意味着在一个8核心系统上不到1个CPU核心,而没有其他的事情发生)。 我确认问题是与/proc/pid/stat数据以及ps 。 我在CentOS 7.1.1503和Ubuntu 15.10上发生过这种情况。

当我调整与docker工作,我正在学习其他更好的方法来检查CPU。 这应该是一个快速和基本的方式来检查我已经熟悉的用法。 有没有人看到任何类似的docker或有任何想法为什么? 谢谢!

Interesting Posts