前回 はとりあえず /proc/pressure
の中身を見てみましたが、PSI 機能は cgroup v2 とも連携しています。というわけで、今回は cgroup v2 をマウントしてみましょう(前回以上に中身なし)。
まずは cgroup v2 をマウントして、コントローラーを子 cgroup で使えるように登録します。このあたりは連載 をどうぞ。
$ sudo mount -t cgroup2 -o nsdelegate cgroup2 /sys/fs/cgroup/ $ echo "+io +memory +cpu +pids" | tee /sys/fs/cgroup/cgroup.subtree_control +io +memory +cpu +pids $ cat /sys/fs/cgroup/cgroup.subtree_control cpu io memory pids
子 cgroup を作って中身を覗いてみましょう。
$ sudo mkdir test01 $ ls cgroup.controllers cgroup.stat cpu.pressure io.max memory.high memory.pressure pids.current cgroup.events cgroup.subtree_control cpu.stat io.pressure memory.low memory.stat pids.events cgroup.max.depth cgroup.threads cpu.weight io.stat memory.max memory.swap.current pids.max cgroup.max.descendants cgroup.type cpu.weight.nice memory.current memory.min memory.swap.events cgroup.procs cpu.max io.latency memory.events memory.oom.group memory.swap.max
"pressure" という名前が付くファイルが登場していますね。
$ for f in $(ls *.pressure); do echo "$f: "; cat $f; done cpu.pressure: some avg10=0.00 avg60=0.00 avg300=0.00 total=0 io.pressure: some avg10=0.00 avg60=0.00 avg300=0.00 total=0 full avg10=0.00 avg60=0.00 avg300=0.00 total=0 memory.pressure: some avg10=0.00 avg60=0.00 avg300=0.00 total=0 full avg10=0.00 avg60=0.00 avg300=0.00 total=0
はい。前回の /proc/pressure
以下に登場したファイルと同じような中身ですね。