问题涉及 Linux cgroups cpu 核算。
我在容器级别注意到了这一点,但它仍然持续到顶层。例如:
# cat /sys/fs/cgroup/cpu/cpuacct.stat /sys/fs/cgroup/cpu/cpuacct.usage
user 34618
system 18038
743932863030
Run Code Online (Sandbox Code Playgroud)
前者的单位是百分之一秒,后者的单位是纳秒,即 346.18、180.38 和 743.932863030
我的问题是:为什么前两者加起来不等于后者?
您可能会想“啊,他们从不同的起源开始”,所以几分钟后以下是相同的指标:
# cat /sys/fs/cgroup/cpu/cpuacct.stat /sys/fs/cgroup/cpu/cpuacct.usage
user 40028
system 22098
818501029494
Run Code Online (Sandbox Code Playgroud)
增量为 54.1、40.6 和 74.57。