Docker内核支持cgroup内存和 swap限制¶
在 Alpine Linux运行Docker 执行 docker info
时候,默认会看到如下警告信息:
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个键值对:GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
更新GRUB:
sudo update-grub
然后重启系统可以消除上述报错警告。
alpine修订方法¶
对于树莓派上运行 Alpine Linux ,则没有使用 Grub 或 extlinux,则直接修订 /boot/cmdline.txt
在最后添加:
cgroup_enable=memory cgroup_memory=1 swapaccount=1
但是很奇怪,我系统重启以后发现内核参数并没有上述添加内容,也没有解决 docker info
输出告警信息