Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.3. Linux カーネルのリソースコントローラー

cgroup サブシステムとも呼ばれるリソースコントローラーは、CPU 時間やメモリーなどの単一のリソースを表します。Linux カーネルは、systemd によって自動的にマウントされるリソースコントローラーの範囲を提供します。/proc/cgroups で現在マウントされているリソースコントローラーの一覧を検索するか 、lssubsys 監視ツールを使用します。Red Hat Enterprise Linux 7 では、systemd はデフォルトで以下のコントローラーをマウントします。

Red Hat Enterprise Linux 7 で利用可能なコントローラー

  • blkio - ブロックデバイスへの入出力アクセスを制限します。
  • cpu - CPU スケジューラーを使用して、CPU への cgroup タスクへのアクセスを提供します。これは、同じマウントで cpuacct コントローラーとともにマウントされます。
  • cpuacct - cgroup のタスクが使用する CPU リソースに関する自動レポートを作成します。これは、同じマウント上の cpu コントローラーとともにマウントされます。
  • cpuset - 個別の CPU(マルチコアシステム)とメモリーノードを cgroup のタスクに割り当てます。
  • devices - cgroup のタスクのデバイスへのアクセスを許可または拒否します。
  • freezer - cgroup のタスクを一時停止または再開します。
  • memory: cgroup のタスクでメモリー使用を設定し、それらのタスクによって使用されるメモリーリソースについての自動レポートを生成します。
  • net_cls - 特定の cgroup タスクから発信されたパケットを識別できるようにするために Linux トラフィックコントローラー (tc コマンド)を許可するクラス識別子(classid)でネットワークパケットをタグ付けします。net_cls のサブシステム net_filter (iptables)はこのタグを使用して、そのようなパケットに対するアクションを実行することもできます。net_filter は、ファイアウォール識別子(fwid)でネットワークソケットをタグ付けします。これにより、Linux ファイアウォール (iptables コマンド)が特定の cgroup タスクから発信されたパケット(skb->sk)を識別できます。
  • perf_event - perf ツールを使用して cgroups の監視を有効にします。
  • HugeTLB: サイズの大きい仮想メモリーページの使用を許可し、これらのページに対するリソース制限を施行します。
Linux カーネルは、systemd で設定できるリソースコントローラーのさまざまな調整可能なパラメーターを公開します。これらのパラメーターの詳細な説明は、カーネルドキュメント コントローラー固有のカーネルドキュメント )を参照してください。