容器如何使用比限制更多的内存?

时间:2016-02-29 08:51:29

标签: docker kubernetes

我的项目可能是一个过度使用的系统,我必须通过指定一个适当的容器内存限制来提高可靠性,通过该限制,不应该划分节点的总内存。但我对Kubernetes v1.1 doc Resource of Qos中的以下陈述感到困惑:

  

不可压缩的资源保障

     
      
  • 如果超出内存请求,可能会被杀死(如果其他容器需要内存)

  •   
  • 如果容器使用的内存超过其限制,则会被杀死。

  •   

并且命令docker stats为每个容器显示“LIMIT”:

enter image description here

我认为这意味着容器不会比“LIMIT”更多地使用mems,因为我有时会遇到MEM% 100%一段时间,因此容器被杀死的方式和时间?

更新

我认为OOM Killer的默认值为0

> cat /proc/sys/vm/oom_kill_allocating_task
0

1 个答案:

答案 0 :(得分:1)

使用了Cgroup内存限制功能,因此我建议您阅读cgroup doc:

  

尝试消耗超出允许内存的任务是   被OOM杀手立即杀死。

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-memory.html