Docker内核支持cgroup内存和 swap限制
在 Alpine Linux运行Docker 执行 docker info
时候,默认会看到如下警告信息:
docker info
显示不支持内存和swap限制的警告WARNING: No memory limit support
WARNING: No swap limit support
上述报错参考 Your kernel does not support cgroup swap limit capabilities ,通常出现在 Ubuntu 或 Debian系统上,而基于RPM的系统已经默认激活了上述功能。
如果不需要上述能力,则可以忽略报错。也可以在Ubuntu或Debian系统上启用上述功能限制。
内存和swap记账功能会消耗大约1%的可用内存以及总体10%的性能降低,即使Docker没有运行
配置
/etc/default/grub
,添加GRUB_CMDLINE_LINUX
行内容添加如下2个键值对,然后执行update-grub
更新 Ubuntu修订Grub内核启动参数 之后重启系统生效:
配置
/etc/default/grub
,添加 GRUB_CMDLINE_LINUX
行内容GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
alpine修订方法
对于树莓派上运行 Alpine Linux 或 Raspbery Pi OS(Raspbian) ,则没有使用 Grub 或 extlinux,则直接修订 /boot/firmware/cmdline.txt
在最后添加:
树莓派修订
/boot/firmware/cmdline.txt
激活cgroup内存和swap限制cgroup_enable=memory cgroup_memory=1 swapaccount=1