簡體   English   中英

容器如何使用超過限制的內存?

[英]How does the container use more memory than the limit?

我的項目可能是一個過度使用的系統,我必須通過指定適當的容器內存限制來提高可靠性,節點的總內存不應被划分。 但我對 Kubernetes v1.1 doc Resource of Qos 中的以下陳述感到困惑:

不可壓縮的資源保證

  • 如果它們超過了它們的內存請求,它們可能會被殺死(如果其他容器需要內存)

  • 如果容器使用的內存超過其限制,它們將被殺死。

並且命令docker stats顯示每個容器的“限制”:

在此處輸入圖片說明

我認為這意味着容器不會使用超過“LIMIT”的MEM%因為我有時會遇到MEM%保持在100%一段時間,那么容器是如何以及何時被殺死的?

更新

我認為 OOM Killer 啟用了默認值0

> cat /proc/sys/vm/oom_kill_allocating_task
0

使用了 Cgroup 內存限制功能,所以我建議閱讀 cgroup 文檔:

嘗試消耗超過允許的內存的任務會立即被 OOM 殺手殺死。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM