24.2. カーネルリソースコントローラーの概要
カーネルリソースコントローラーは、コントロールグループの機能を有効化します。RHEL 9 は、コントロールグループバージョン 1 (cgroups-v1
) および コントロールグループバージョン 2 (cgroups-v2
) のさまざまなコントローラーをサポートします。
コントロールグループサブシステムとも呼ばれるリソースコントローラーは、1 つのリソース (CPU 時間、メモリー、ネットワーク帯域幅、ディスク I/O など) を表すカーネルサブシステムです。Linux カーネルは、systemd
サービスマネージャーによって自動的にマウントされるリソースコントローラーの範囲を提供します。現在マウントされているリソースコントローラーの一覧は、/proc/cgroups
ファイルで確認できます。
cgroups-v1
で利用可能なコントローラー
blkio
- ブロックデバイスへの入出力アクセスを制限します。
cpu
-
コントロールグループのタスク用の Completely Fair Scheduler (CFS) パラメーターを調整します。
cpu
コントローラーは、同じマウント上のcpuacct
コントローラーとともにマウントされます。 cpuacct
-
コントロールグループ内のタスクが使用する CPU リソースに関する自動レポートを作成します。
cpuacct
コントローラーは、同じマウント上のcpu
コントローラーとともにマウントされます。 cpuset
- コントロールグループタスクが、指定された CPU のサブセットでのみ実行されるように制限し、指定されたメモリーノードでのみメモリーを使用するようにタスクに指示します。
devices
- コントロールグループ内のタスクのデバイスへのアクセスを制御します。
freezer
- コントロールグループ内のタスクを一時停止または再開します。
memory
- コントロールグループ内のタスクによるメモリー使用の制限を設定し、それらのタスクが使用したメモリーリソースに関する自動レポートを生成します。
net_cls
-
特定のコントロールグループタスクから発信されたパケットを識別するために Linux トラフィックコントローラー (
tc
コマンド) を有効化するクラス識別子 (classid
) でネットワークパケットをタグ付けします。net_cls
のサブシステムnet_ filter
(iptables) でも、このタグを使用して、そのようなパケットに対するアクションを実行することができます。net_filter
は、ファイアウォール識別子 (fwid
) でネットワークソケットをタグ付けします。これにより、Linux ファイアウォールは、(iptables
コマンドを使用して) 特定のコントロールグループタスクから発信されたパケットを識別できるようになります。 net_prio
- ネットワークトラフィックの優先度を設定します。
pids
- コントロールグループ内の多数のプロセスとその子に制限を設定します。
perf_event
-
perf
パフォーマンス監視およびレポートユーティリティーにより、監視するタスクをグループ化します。 rdma
- コントロールグループ内の Remote Direct Memory Access/InfiniB 固有リソースに制限を設定します。
hugetlb
- コントロールグループ内のタスクによる大容量の仮想メモリーページの使用を制限する場合に使用できます。
cgroups-v2
で利用可能なコントローラー
io
- ブロックデバイスへの入出力アクセスを制限します。
memory
- コントロールグループ内のタスクによるメモリー使用の制限を設定し、それらのタスクが使用したメモリーリソースに関する自動レポートを生成します。
pids
- コントロールグループ内の多数のプロセスとその子に制限を設定します。
rdma
- コントロールグループ内の Remote Direct Memory Access/InfiniB 固有リソースに制限を設定します。
cpu
- コントロールグループのタスクの Completely Fair Scheduler (CFS) パラメーターを調整し、コントロールグループのタスクで使用される CPU リソースに関する自動レポートを作成します。
cpuset
-
コントロールグループタスクが、指定された CPU のサブセットでのみ実行されるように制限し、指定されたメモリーノードでのみメモリーを使用するようにタスクに指示します。新しいパーティション機能により、コア機能 (
cpus{,.effective}
,mems{,.effective}
) のみがサポートされます。 perf_event
-
perf
パフォーマンス監視およびレポートユーティリティーで監視するタスクをグループ化します。perf_event
は、v2 階層で自動的に有効化されています。
リソースコントローラーは、cgroups-v1
階層または cgroups-v 2
階層のいずれかで使用できますが、両方を同時に使用することはできません。
関連情報
-
cgroups(7)
の man ページ -
/usr/share/doc/kernel-doc-<kernel_version>/Documentation/cgroups-v1/
ディレクトリー内のドキュメント (kernel-doc
パッケージをインストールした後)。