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 LinuxRaspbery Pi OS(Raspbian) ,则没有使用 Grub 或 extlinux,则直接修订 /boot/firmware/cmdline.txt 在最后添加:

树莓派修订 /boot/firmware/cmdline.txt 激活cgroup内存和swap限制
cgroup_enable=memory cgroup_memory=1 swapaccount=1

参考