Red Hat Training

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

7.3. 仮想 CPU のオーバーコミット

KVM ハイパーバイザーは、仮想化 CPU (vCPU) のオーバーコミットに対応します。仮想化 CPU は、ゲスト仮想マシンの負荷制限が許す限り、オーバーコミットできます。負荷が 100% に近いと、要求が破棄されたり、使用できない応答時間が発生する可能性があるため、vCPU をオーバーコミットする場合は注意してください。
Red Hat Enterprise Linux 7 では、SMP (対称型マルチプロセッシング) 仮想マシンと呼ばれる複数の vCPU でゲストをオーバーコミットすることができます。ただし、仮想マシンで、物理 CPU にあるコアよりも多くのコアを実行すると、パフォーマンスが低下する場合があります。
たとえば、vCPU が 4 つある仮想マシンは、デュアルコアプロセッサーを搭載したホストマシンではなく、クアッドコアホストで実行してください。処理コアの物理数を超えて SMP 仮想マシンをオーバーコミットすると、プログラムの CPU 時間が必要な時間よりも短くなるため、パフォーマンスが大幅に低下します。また、物理プロセッサーコアごとに、割り当てられた vCPU の合計が 10 を超えることは推奨されません。
SMP ゲストでは、処理オーバーヘッドの一部が発生します。CPU オーバーコミットは、SMP のオーバーヘッドを増加させます。これは、タイムスライシングを使用してリソースをゲストに割り当てると、ゲスト内の CPU 間の通信が遅くなる可能性があるためです。このオーバーヘッドは、vCPU の数が多いゲストや、オーバーコミット率が高いゲストで増加します。
仮想化された CPU は、単一のホストに複数のゲストがあり、各ゲストにホスト CPU の数と比較して少数の vCPU がある場合に、最適にオーバーコミットされます。KVM は、1 つのホスト上の 1 つの物理 CPU に対して 5 つの vCPU(5 つの仮想マシン上) の比率で 100% 未満の負荷を持つゲストを安全にサポートする必要があります。KVM ハイパーバイザーは、すべての仮想マシンを切り替えて、負荷のバランスがとれていることを確認します。
パフォーマンスを最大化するために、Red Hat では、各ゲスト内にあるプログラムを実行するのに必要な数の vCPU のみをゲストに割り当てることを推奨しています。
重要
オーバーコミットされた環境では、メモリーを 100% 使用するアプリケーションや処理リソースが不安定になる可能性があります。CPU のオーバーコミット率および SMP の量はワークロードに依存するため、詳細なテストを行わずに実稼働環境でメモリーまたは CPU をオーバーコミットしないでください。