我目前正在尝试从 cgroup 文件系统读取内存和 IO 压力。我可以确认我确实在运行 cgroupsv2,因为输出
cat /sys/fs/cgroup/cgroup.controllers
给了我
cpuset cpu io memory pids
在/sys/fs/cgroup
文件夹中,我有以下文件/文件夹
cgroup.controllers cgroup.procs cgroup.threads cpu.stat user.slice
cgroup.max.depth cgroup.stat cpuset.cpus.effective init.scope memory.stat
cgroup.max.descendants cgroup.subtree_control cpuset.mems.effective io.stat system.slice
但是我也期望每个控制器都有相应的压力文件
cpu.pressure io.pressure memory.pressure
系统运行Raspbian GNU/Linux 10 (buster)
在systemd.unified_cgroup_hierarchy=1
/boot/cmdline.txt
问题是内核没有使用 PSI 功能编译。要检查您的内核是否具有此功能,请首先检查内核配置。使用
sudo modprobe configs; zcat /proc/config.gz > .config
andgrep "CONFIG_PSI" .config
检查它是否设置。如果CONFIG_PSI
禁用,则可以通过psi=1
在引导期间传递内核命令行来启用它。但是,如果 grep 返回,#CONFIG_PSI is not set
那么您需要重新编译内核以启用 PSI。