我在AWS/GCP上有两个32个vCPU实例。我试图设置cpu屏蔽,以便cpu 0、1被系统使用,cpu 2-31被屏蔽,并且仅由用户空间线程显式使用。
系统信息:
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy$ cat /proc/filesystems | grep cpuset
nodev cpuset但是,当我尝试运行cset shield时,我遇到了一个与挂载有关的错误:
mount: /cpusets: none already mounted on /run/credentials/systemd-sysusers.service.
cset: **> mount of cpuset filesystem failed, do you have permission?我已经深入研究了cset代码,似乎失败的调用是
$ sudo mount -t cpuset cpuset /cpusets
mount: /cpusets: cpuset already mounted or mount point busy./cpusets是一个新创建的文件夹,而$ cat /proc/mounts | grep cpuset是空的,因此似乎没有安装在其他地方。
也许是相关的:
$ cat /proc/mounts | grep cgroup
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0我的猜测是AWS/GCP使用cpuset作为管理程序,或者类似的东西。是否有可能在AWS/GCP上分离cpus?我该怎么做呢?
发布于 2022-12-04 03:00:40
您使用的是已经挂载了v2 (“统一”)cgroup的systemd,所以它不是您管理的控制组--它的systemd。告诉它通过CPUAffinity= 中的相关选项。[Manager]A节/etc/systemd/system.conf.d/50-my-cpuset-options.conf文件这样做。然后,您可以使用CPUAffinity= (空到重置,非空添加)在那些特定的unit.service文件,您希望豁免全球默认。
您甚至可以使用systemd临时(直到重新启动)通过systemctl --runtime set-property example.service ExampleOption=Value命令修改已经运行的服务上的资源选项。使用它来确认产生的cgroup设置并度量它如何影响您的系统性能。我想,如果您没有破坏调度程序使用100% CPU的能力,而是提高了它的全部能力,那么在拥塞情况下,系统的可靠性将大大提高,而不是全局默认的。在那些特定的低优先级异步后台任务上,使用Nice=和IOSchedulingClass=更紧密地匹配您的优先级,您确实希望运行这些任务,但不希望影响系统的其他部分--但是不使用关联大锤。
理论上,像cset这样的实用程序可以被更新为与这样的cgroup2系统管理器进行接口,并提供与以前相同的抽象,而在后台修改系统system.slice和单元默认值时,这个讨论听起来却是如此,但到目前为止还没有人这样做。而且,由于包罗万象提供了更丰富、更好的文档,并且可以说对内核已经学会的所有整洁的东西提供了更多的多功能控制,所以可能不再需要这样做。
发布于 2022-12-05 17:36:52
如前所述,systemd创建了自己的cgroup2层次结构,根据我的需要,这些层次结构并不能很好地使用cset。
我在/etc/ GRUB_CMDLINE_LINUX_DEFAULT /grub中添加了以下内容,以禁用Ubuntu22.10上的此行为。
在你做完之后,这一行会是这样的:
GRUB_CMDLINE_LINUX_DEFAULT="systemd.unified_cgroup_hierarchy=false "完成之后,您需要作为root运行:
update-grub
grub-install然后重新启动。重新启动后,我成功地使用CSET在Ryzen CPU上屏蔽了CCX,并迁移了所有的用户和系统任务
下面是我遇到的更多关于这个问题的参考,以防您需要更多的背景:https://github.com/systemd/systemd/issues/13477#issuecomment-528113009 https://github.com/lxc/lxd/issues/10441
https://serverfault.com/questions/1116756
复制相似问题