gpt4 book ai didi

docker - docker 说 "Memory limited without swap"是什么意思

转载 作者:IT老高 更新时间:2023-10-28 12:41:12 27 4
gpt4 key购买 nike

我在运行 docker 时收到警告:

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

我正在尝试弄清楚这意味着什么,尤其是“没有交换的内存受限”这句话。

这是否意味着容器可以使用比您通常通过使用主机的交换空间所允许的更多的内存?或者这是否意味着容器不能使用交换空间,即使主机完全耗尽内存?是因为没有配置交换空间造成的吗?如果您仍然不使用交换,这无关紧要吗?

注意:我对如何修复它不感兴趣 - 谷歌上有很多关于它的结果。我感兴趣的是它意味着什么,以及它为什么重要。

最佳答案

Docker 守护进程依赖以下虚拟文件来实现内存和交换限制:

/sys/fs/cgroup/memory/memory.limit_in_bytes
/sys/fs/cgroup/memory/memory.memsw.limit_in_bytes

如果您的内核不支持交换内存限制,则第二个文件将不存在,并且 docker run 不会对交换空间的使用施加任何限制。这样,容器甚至可以使用比 -m, --memory 设置更多的交换,就像 --memory-swap 已设置为 - 1。显然,容器不能使用比您在系统上配置的更多的交换空间。

但是,警告信息也试图说明选项 -m, --memory 仍然会生效,并且将按预期设置最大用户内存量(包括文件缓存) .


提到的 cgroup 挂载点可能不同,请查阅 /proc/self/mounts

关于docker - docker 说 "Memory limited without swap"是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48685667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com