当我使用 创建 cgroup 时sudo mkdir /sys/fs/cgroup/my-cgroup
,io.latency
不会创建。创建其他 io 文件,如io.max
, io.stat
, io.pressure
... 的内容cgroup.subtree_control
包含io
.
当我尝试自己创建文件时,即使使用 sudo,它也不起作用(权限被拒绝)。
你知道出了什么问题吗?还有其他东西可以启用吗?提前致谢。
Linux发行版:Pop OS 22.04
内核版本:6.8.0
答案1
还有其他东西可以启用吗?
当运行的内核无法找到记录的功能时,有时这只是因为它没有该功能。要么是因为它太旧,要么是因为在这种情况下,因为它在构建时未启用:
CONFIG_BLK_CGROUP_IOLATENCY
:启用对基于延迟的 cgroup IO 保护的支持[...]
启用此选项将启用 .latency 接口以进行 IO 限制。 IO 控制器将尝试将平均 IO 延迟维持在配置的延迟目标以下,从而限制延迟目标高于受害组的任何人。
请注意,这是一个实验性界面,有一天可能会更改。
/usr/lib/linux/6.8.0-76060800daily20240311-generic/config
正如包装中所见(仅截至今天......)linux-buildinfo-6.8.0-76060800daily20240311-generic_6.8.0-76060800daily20240311.202403110203~1713206908~22.04~3a62479_amd64.deb
,或者如果你运行:
grep CONFIG_BLK_CGROUP_IOLATENCY /boot/config-*
就会有这样的结果# CONFIG_BLK_CGROUP_IOLATENCY is not set
。
Pop!_OS(就像它的上游 Ubuntu 或 Debian 一样)不启用此选项(也许是因为它当前在其描述中被记录为实验接口?)。
如果您需要它,您必须找到一个内核,或者构建一个内核,并启用此选项。