PageCache利用率是否受cgroup内存配额控制?及配额内页缓存可用量咨询
关于Cgroup内存配额与PageCache的问题解答
问题1:PageCache的利用率是否由cgroup内存配额控制?
是的,Cgroup的内存配额(对应配置项memory.max或旧版的memory.limit_in_bytes)会管控该组内所有内存资源的使用,其中就包括PageCache。该配额是cgroup能使用的总内存上限,匿名内存、PageCache、甚至部分内核内存(若未单独配置memory.kmem.max限制)都会被计入这个配额,PageCache的占用不能超出cgroup的总内存配额。
问题2:在一台内存为256GB的机器上创建一个内存配额为100GB的cgroup,当该cgroup中已分配60GB匿名内存后,可用于pagecache的内存是40GB还是196GB?
可用于PageCache的内存是40GB。因为cgroup的内存配额是该组专属的总内存上限,匿名内存和PageCache共享这100GB额度。已占用60GB匿名内存后,剩余的配额空间为100GB-60GB=40GB,这就是该cgroup内PageCache能使用的最大容量。机器的256GB总内存中剩下的部分,属于系统全局或其他cgroup的可用资源,和当前这个cgroup的配额无关。
内容的提问来源于stack exchange,提问作者Frontier_Setter
相关产品推荐
相关产品推荐

