概要
systemd-cglsは、Linuxカーネルのcgroup機能を利用して、システムリソースの管理と隔離を可視化します。各cgroupに属するプロセスID(PID)と、そのグループのサブcgroupをツリー形式で表示し、システムの複雑なリソース割り当て構造を容易に理解できるように支援します。
主な特徴
- cgroup階層構造の可視化
- 各cgroupに属するプロセスID(PID)の表示
- システムリソースの隔離および割り当て状態の確認
- サービス、ユーザーセッションなどのリソースグループ化方式の把握
主なオプション
systemd-cglsコマンドの主なオプションは、表示されるcgroup情報の範囲と形式を制御するために使用されます。
表示/フィルタリングオプション
その他のオプション
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`systemd-cgls` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
systemd-cglsコマンドの様々な使用例を通じて、cgroup情報を効果的に照会する方法を学びます。
基本的なcgroup階層構造を表示
systemd-cgls
システムの基本的なcgroup階層構造と、各グループに属するプロセスIDを表示します。
空のcgroupを含めてすべてのcgroupを表示
systemd-cgls -a
現在アクティブなcgroupだけでなく、空のcgroupもすべて表示して、全体的なcgroup構造を把握します。
特定のsystemdユニットのcgroupを表示
systemd-cgls --unit sshd.service
例えば、SSHデーモン(sshd.service)に関連するcgroup情報を確認します。
ユーザーセッションcgroupのフルパスを表示
systemd-cgls -p --unit user@1000.service
ユーザーID 1000のセッションcgroupに関するフルパスを含めて詳細情報を確認します。ユーザーIDは`id -u`コマンドで確認できます。
出力内容を省略せずにすべてのcgroupを表示
systemd-cgls --full -a
長いcgroupパスまたは名前を省略せずにすべて表示し、空のcgroupも含まれます。
ヒントと注意点
systemd-cglsは、システムの資源管理状態を理解し、デバッグするのに非常に役立ちます。以下のヒントを活用して、より効果的にコマンドを使用できます。
cgroupの理解
cgroupは、プロセスグループに対するリソース(CPU、メモリ、I/Oなど)の割り当てと制限を管理するLinuxカーネル機能です。systemdはこの機能を利用して、サービス、ユーザーセッションなどを隔離し、管理します。
- 活用分野: システムリソース使用量の分析、サービス隔離状態の確認、問題解決時の特定プロセスグループの追跡
- 他のコマンドとの連携: `systemctl status`と組み合わせて特定のサービスのcgroup情報を確認したり、`ps auxf`と比較してプロセスツリーを理解するのに役立ちます。
出力の解釈
表示されるツリー構造において、各ノードはcgroupを表し、その下にリストされている数字は該当cgroupに属するプロセスのPIDです。これにより、どのプロセスがどのリソースグループに属しているかを直感的に把握できます。