为了支持 Docker 内存限制/配额,我想启用
cgroup_enable=memory swapaccount=1
我的 Debian Jessie Google Cloud Compute Engine 实例上的 Linux 内核命令行选项。将它们添加到/etc/default/grub
、更新并重新启动后,我可以看到选项在中处于活动状态/proc/cmdline
:
BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=aeb374a4-1a04-4ed7-adac-d5c57b350575 ro console=ttyS0,38400n8 elevator=noop cgroup_enable=memory swapaccount=1
然而,docker info
仍然有人抱怨它们被禁用:
$ docker info
[...]
WARNING: No kernel memory limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
[...]
有什么想法吗?GCE Debian 映像中包含的内核是否不支持这些功能?
答案1
更新/etc/default/grub
并设置:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
跑步update-grub && reboot
而不是docker info
(这似乎是有缺陷的)使用而lxc-checkconfig
或检查配置来自 Docker(moby)存储库:
wget https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh && bash check-config.sh