微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在 cgroup 上限制 IO当设备存在时说“没有这样的设备”可能有什么问题?

如何解决无法在 cgroup 上限制 IO当设备存在时说“没有这样的设备”可能有什么问题?

我遵循的说明:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/blkio-controller.html

我运行的脚本:

 
 BYTES_PER_SEC=1048576;
 
 MAJOR=259
 MInor=1
 
 echo "device name:"
 udevadm info -rq name /sys/dev/block/$MAJOR:$MInor
 echo ""
 echo "device numbers:"
 echo $MAJOR:$MInor;
 echo ""
 
 sudo mount -t cgroup -o blkio none /sys/fs/cgroup/blkio;
 sudo echo "COMMAND TO BE EXECUTED:";
 sudo echo "$MAJOR:$MInor  $BYTES_PER_SEC";
 sudo echo "$MAJOR:$MInor  $BYTES_PER_SEC" > /sys/fs/cgroup/blkio/blkio.throttle.read_bps_device
 sudo echo "$MAJOR:$MInor  $BYTES_PER_SEC" > /sys/fs/cgroup/blkio/blkio.throttle.write_bps_device

输出

~/Desktop >>> sudo ./test.sh                                                                                                                                                                                   [1]
[sudo] password for brian: 
/dev/nvme0n1p1
device name: 259:1
mount: /sys/fs/cgroup/blkio: none already mounted on /sys/fs/bpf.
COMMAND TO BE EXECUTED:
259:1  1048576
echo: write error: No such device
echo: write error: No such device

不知道哪里出了问题。我也在此处使用 NixOS,因此不确定这是否会实际影响结果。

解决方法

发生错误是因为使用 cgroups 版本 1 限制 IO 的唯一方法是使用物理设备。我上面使用的主要和次要版本号用于分区。您需要为容纳分区的物理设备选择主要和次要编号。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。