在 Ubuntu 20.04 中启用内存 cgroup

Com*_*Com 5 kubernetes

指令,从而使得在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。有什么建议?

Com*_*Com 7

我能够通过附加cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1到文件来使这个工作/boot/firmware/cmdline.txt/boot/firmware/nobtcmd.txt在 Ubuntu 20.04 中所做的更改似乎被忽略了(在 config.txt 中有关于 cmdline=nobtcmd.txt 被弃用以支持包含命令的注释)。


uli*_*tko 5

在 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.

  • GRUB_CMDLINE_LINUX="cgroup_enable=内存 cgroup_memory=1 systemd.unified_cgroup_hierarchy=0" [问题](https://github.com/canonical/microk8s/issues/1691) (2认同)
  • 升级到22.04后,Docker无法开始抱怨“Your kernel does not support cgroup memory limit”。这解决了它。 (2认同)