22.7. プロセスの cgroup の表示

プロセスがどの コントロールグループ (cgroup) に属しているかを知ることができます。続いて cgroup をチェックして、使用するコントローラーとコントローラー固有の設定を確認できます。

手順

  1. プロセスが属する cgroup を表示するには、# cat proc/<PID>/cgroup コマンドを実行します。

    # cat /proc/2467/cgroup
    0::/system.slice/example.service

    この出力例は、対象のプロセスに関するものです。今回の例では、example.service ユニットに属する PID 2467 で識別されるプロセスです。systemd ユニットファイルの仕様で定義されているように、適切なコントロールグループにプロセスが置かれているかどうかを判断できます。

  2. 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>/ のコントローラーディレクトリーにあります。

関連情報