无法在 GCE Debian Jessie 实例上启用 cgroup_enable=memory swapaccount=1

无法在 GCE Debian Jessie 实例上启用 cgroup_enable=memory swapaccount=1

为了支持 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

相关内容