在 Ubuntu 18 和 19 上启用内存 cgroup 的说明包括添加cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1
和/boot/firmware/nobtcmd.txt
重新启动。重新启动后,grep mem /proc/cgroups
应显示它已启用。
我发现在 Ubuntu 20.04 上上述说明对我不起作用,并且 Kubernetes 继续出错[ERROR SystemVerification]: missing cgroups: memory
。有什么建议吗?
答案1
我能够通过附加cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1
到文件来使其工作/boot/firmware/cmdline.txt
。Ubuntu 20.04 中所做的更改/boot/firmware/nobtcmd.txt
似乎被忽略了(config.txt 中有一条关于 cmdline=nobtcmd.txt 被弃用而支持 include 命令的注释)。
答案2
在 22.04(内核 5.15.0)上通过 Grub 启动:
- 添加
cgroup_enable=memory cgroup_memory=1
到 GRUB_CMDLINE_LINUX_DEFAULT 中/etc/default/grub
; - 然后
sudo update-grub
内核重启。
验证cat /proc/cmdline
。