最近对在docker容器中运行的进程进行了一些性能测试。 CPU使用率是通过/ sys / fs容器目录中的cpuacct.stat文件收集的。在使用top等工具手动监控过程时,我注意到cgroup CPU的使用率始终低于top,有时是4倍。
我编写了一个快速脚本来跟踪cpuacct.stat和/ proc // stat报告的容器中进程使用的滴答。它们甚至都不是很接近。 proc统计数据要大得多,这没有任何意义;这就像是说容器比其中的容器小。
我能找到的任何一个引用都是内核评论说cpuacct.stat可能偶尔会有点不准确。这不仅仅是一个舍入错误。
任何人对此有任何经验或知识吗?这会让我的所有CPU使用率指标都受到质疑。
Linux 3.10.0-327.18.2.el7.x86_64 8个CPU盒上的Centos。