18.7. 仮想マシンの CPU パフォーマンスの最適化
vCPU は、ホストマシンの物理 CPU と同様、仮想マシンのパフォーマンスにおいて極めて重要です。したがって、vCPU を最適化すると、仮想マシンのリソース効率に大きな影響を及ぼす可能性があります。vCPU を最適化するには、以下を実行します。
- 仮想マシンに割り当てられているホスト CPU の数を調整します。これは、CLI または Web コンソール を使用して実行できます。
vCPU モデルが、ホストの CPU モデルに調整されていることを確認します。たとえば、仮想マシン testguest1 を、ホストの CPU モデルを使用するように設定するには、次のコマンドを実行します。
# virt-xml testguest1 --edit --cpu host-modelARM 64 システムでは、
--cpu host-passthroughを使用します。- Kernel Same-Page Merging (KSM) を管理します。
ホストマシンが Non-Uniform Memory Access (NUMA) を使用する場合は、その仮想マシンに対して NUMA を設定 することもできます。これにより、ホストの CPU およびメモリープロセスが、仮想マシンの CPU およびメモリープロセスにできるだけ近くにマッピングされます。事実上、NUMA チューニングにより、仮想マシンに割り当てられたシステムメモリーへのより効率的なアクセスが可能になります。これにより、vCPU 処理の効果が改善されます。
詳細は、仮想マシンでの NUMA の設定 および 特定のワークロードに合わせた仮想マシンのパフォーマンスの最適化 を参照してください。
18.7.1. 仮想 CPU のオーバーコミット リンクのコピーリンクがクリップボードにコピーされました!
仮想 CPU のオーバーコミットを使用すると、ホスト上で実行される仮想マシン (VM) 内の全仮想 CPU の合計数が、ホスト上の物理 CPU の数を超える設定が可能になります。ただし、ホスト上で物理的に使用可能なコア数よりも多くのコアを仮想マシンで同時に実行すると、パフォーマンスが低下する可能性があります。
最高のパフォーマンスを得るには、各仮想マシンで目的のワークロードを実行するのに必要な数の仮想 CPU だけを仮想マシンに割り当てます。
仮想 CPU のオーバーコミットに関する推奨事項を以下に示します。
- 最高のパフォーマンスを得るために、仮想マシンのワークロードに必要な最小限の仮想 CPU を割り当てます。
- 詳細なテストを行わずに実稼働環境で仮想 CPU をオーバーコミットすることは避けてください。
- 仮想 CPU をオーバーコミットする場合、負荷が 100% 未満のときは、通常、仮想 CPU と物理 CPU の比率を 5 対 1 にするのが安全です。
- 物理プロセッサーコアごとに合計 10 個を超える仮想 CPU を割り当てることは推奨されません。
- 高負荷時のパフォーマンス低下を防ぐために CPU 使用率を監視します。
オーバーコミットされた環境では、メモリーを 100% 使用するアプリケーションや処理リソースが不安定になる可能性があります。CPU のオーバーコミット率はワークロードに依存するため、詳細なテストを行わずに実稼働環境でメモリーや CPU をオーバーコミットしないでください。