23.7. プロセスの cgroup の表示
プロセスがどの コントロールグループ (cgroup
) に属しているかを知ることができます。続いて cgroup
をチェックして、使用するコントローラーとコントローラー固有の設定を確認できます。
手順
プロセスが属する
cgroup
を表示するには、# cat proc/<PID>/cgroup
コマンドを実行します。# cat /proc/2467/cgroup 0::/system.slice/example.service
この出力例は、対象のプロセスに関するものです。今回の例では、
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
cgroups
のバージョン 1 階層は、コントローラーごとのモデルを使用します。したがって、/proc/PID/cgroup
ファイルからの出力には、PID が属する各コントローラーの下の cgroups
が表示されます。それぞれの cgroups
は、/sys/fs/cgroup/<controller_name>/
のコントローラーディレクトリーにあります。
関連情報
-
cgroups(7)
の man ページ - Linux カーネルリソースコントローラーとは
-
/usr/share/doc/kernel-doc-<kernel_version>/Documentation/admin-guide/cgroup-v2.rst
ファイルのドキュメント (kernel-doc
パッケージのインストール後)