说一下解除docker限制内存警告

有时候docker要对容器使用的内存做出限制,通常的做法是使用参数 -m

例如:

复制代码
docker run -m 512M

表示容器内存最大不能超过512M。

但这样做,在ubuntu会看到以下警告

复制代码
WARNING: Your kernel does not support swap limit capabilities

docker官方文档给出了解决方案

就是修改grub配置,添加GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" 就可以了。

重点的地方不是这里,是说一下grub的3个配置路径,因为我在修改grub配置的时候就搞混了,在这里给大家分享一下。

grub的配置就是修改linux内核的启动参数,和grub相关的路径有3个:

  1. /boot/grub这里有个重要文件, grub.cfg,linux内核启动的时候就会加载这个文件里面的参数,可以直接修改grub.cfg,但不建议

  2. /etc/default/grub.d,这个文件夹是自定义的grub配置参数,例如上面的添加GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" ,就可以建个后缀名为cfg,然后写上这个自定义的配置参数就可以了。

  3. /etc/grub.d/,这个文件夹是执行脚本,就是把/etc/default/grub.d的自定义配置参数写到/boot/grub/grub.cfg,大概是这么个关系,真正运行逻辑也许更复杂,

    以上就是grub配置参数的运行逻辑,所以解除docker限制内存警告,在/etc/default/grub.d建个xx.cfg的文件,添加GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" 内容,然后执行sudo update-grub ,最后重启系统sudo reboot, 重启之后验证一下内核是否有新修改的配置参数cat /proc/cmdline, 看内容里是否有cgroup_enable=memory swapaccount=1

相关推荐
yichengerp1 小时前
电子行业常用erp系统有哪些?推荐适合中小电子厂的易呈erp软件,操作简单,易落地
大数据·运维·人工智能·云计算·制造
天国梦1 小时前
国密门禁品牌怎么选?2026年最新3个避坑要点
运维·服务器·数据库·python
程序员老赵2 小时前
Docker 部署 Portainer CE:轻松搭建容器管理平台
docker·容器·开源
TTATTC2 小时前
Gmail、Drive、日历共用一套命令:gws 如何在运行时把 Discovery 文档编译成 CLI
docker·开源
信可维2 小时前
自动化操作多平台账号:登录态、双会话与 User Data 的 3 个坑
运维·自动化
龙仔7252 小时前
RustDesk 自建服务器 Key 强校验配置笔记
运维·服务器·笔记
大侠归来3 小时前
Docker 部署 Dolibarr:从零开始的完整指南
运维·docker·容器
KING-WU5123 小时前
Linux GDB 调试实战指南:从编译到断点调试
linux·运维·服务器
傲世仙尊3 小时前
类和对象中-构造函数与析构函数把初始化清理自动化
java·运维·自动化
七月吃橘子3 小时前
WSL2+Docker+Ollama,本地部署大模型实践(Qwen1.8b)
运维·docker·容器