说一下解除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

相关推荐
知已难寻5 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
xbzb10 小时前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级
Alluxio13 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
Sayai17 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
Elastic 中国社区官方博客18 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜18 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨18 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven19 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘19 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
莫晓燚19 小时前
mall 电商项目完整部署---实战
linux·运维·docker·容器