微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是Docker在说“没有交换的内存限制”时的含义

当我运行docker时,我收到警告:

WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.

我试图找出这意味着什么,特别是“没有交换的内存限制”这句话.

这是否意味着容器可以使用比通常使用主机的交换空间通常允许的容量更多的内存?或者它是否意味着即使主机完全耗尽内存,容器也无法使用交换空间?是否配置了交换空间?如果你不使用交换,这是无关紧要的吗?

注意:我对如何修复它不感兴趣 – 谷歌上有很多关于它的结果.我对它的意义以及它为何重要感兴趣.

最佳答案
这是我发现的.

认情况下不使用交换.您可以在/sys/fs/cgroup/memory/memory.stat上的Ubuntu / Debian容器上查看.检查swap value,你会看到它被设置为0(字节).没有交换使用.

你可以使用带有–memory和–memory-swap标志的enable and limit swap usage,这里就是这个WARNING似乎能得到你的地方.从Docker’s documentation起关于一个非常相似的警告:

If you don’t need these capabilities,you can ignore the warning. You can enable these capabilities on Ubuntu or Debian by following these instructions.

tl; dr:认禁用交换.如果cgroup被禁用或容器交换限制受到影响,就像此警告所示,您将无法设置这些限制.

原文地址:https://www.jb51.cc/docker/436911.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐