34.7. プロセスの cgroup の表示
プロセスがどの コントロールグループ (cgroup
) に属しているかを知ることができます。続いて cgroup
をチェックして、使用するコントローラーとコントローラー固有の設定を確認できます。
手順
プロセスが属する
cgroup
を表示するには、# cat proc/<PID>/cgroup
コマンドを実行します。cat /proc/2467/cgroup 0::/system.slice/example.service
# cat /proc/2467/cgroup 0::/system.slice/example.service
Copy to Clipboard Copied! この出力例は、対象のプロセスに関するものです。今回の例では、
example.service
ユニットに属するPID 2467
で識別されるプロセスです。systemd
ユニットファイルの仕様で定義されているように、適切なコントロールグループにプロセスが置かれているかどうかを判断できます。cgroup
が使用するコントローラーとそれぞれの設定ファイルを表示するには、cgroup
ディレクトリーを確認します。cat /sys/fs/cgroup/system.slice/example.service/cgroup.controllers memory pids ls /sys/fs/cgroup/system.slice/example.service/ cgroup.controllers cgroup.events … cpu.pressure cpu.stat io.pressure memory.current memory.events … pids.current pids.events pids.max
# cat /sys/fs/cgroup/system.slice/example.service/cgroup.controllers memory pids # ls /sys/fs/cgroup/system.slice/example.service/ cgroup.controllers cgroup.events … cpu.pressure cpu.stat io.pressure memory.current memory.events … pids.current pids.events pids.max
Copy to Clipboard Copied!
cgroups
のバージョン 1 階層は、コントローラーごとのモデルを使用します。したがって、/proc/PID/cgroup
ファイルからの出力には、PID が属する各コントローラーの下の cgroups
が表示されます。それぞれの cgroups
は、/sys/fs/cgroup/<controller_name>/
のコントローラーディレクトリーにあります。