20.42. ゲスト仮想マシンのリソースの管理

virsh を使用すると、ゲスト仮想マシンごとにリソースのグループ化および割り当てができます。これは libvirt デーモンによって管理され、これは cgroups を作成して、ゲスト仮想マシンの代わりにそれらを管理します。システム管理者による作業は、指定された仮想マシンに対して tunable (調整可能パラメーター) を照会するか、または設定するかのいずれかのみになります。libvirt サービスは、仮想マシンのチューニングおよび監視に以下の cgroups を使用します。
  • memory - メモリーコントローラーは RAM と swap 使用量の制限を設定することを許可し、グループ内のすべてのプロセスの累積的な使用の照会を許可します。
  • cpuset - CPU セットコントローラーは、グループ内のプロセスを CPU セットにバインドし、CPU 間の移行を制御します。
  • cpuacct - CPU アカウンティングコントローラーは、プロセスのグループの CPU 使用量についての情報を提供します。
  • cpu - CPU スケジューラーコントローラーは、グループ内のプロセスの優先付けを制御します。これは nice レベルの特権を付与することに似ています。
  • devices - デバイスコントローラーは、キャラクターおよびブロックデバイスのアクセス制御リストを付与します。
  • freezer - フリーザーコントローラーは、グループ内のプロセスの実行を一時停止し、再開します。これはグループ全体に対する SIGSTOP に似ています。
  • net_cls - ネットワーククラスコントローラーは、プロセスを tc ネットワーククラスに関連付けることにより、ネットワークの利用を管理します。
cgroups は、systemd 内で libvirt により設定されます。以下の virsh チューニングコマンドが cgroups の設定方法に影響します。
cgroups についての詳細は、『Red Hat Enterprise Linux 7 リソース管理ガイド』を参照してください。