文章归档

memory.usage_in_bytes与rss内存统计不一致

最近线上发现一个问题。一个用户在做resize操作的时候失败了,resize的主要动作是将内存阈值从45G调整到50G,按理来说这个调整是可行的,但实际执行时出现了问题。执行器报错如下:

Cgroups: failed to write memory.excess_mode: 16: Device or resource busy

用户的解释说,通过top统计到container内的rss进程只使用了20G左右,并没有超过45G。但是我们看memory.usage_in_bytes的统计时,container内存已经达到了90G。为什么memory.usage_in_bytes和rss会不一致呢?

原因是因为,cgroup的memory在统计内存时,把page cache也统计进去了,而top看到的rss,是不包含page cache的。

»» 继续阅读全文