VMware ESXi 複数の仮想CPU (vCPU) がパフォーマンスに影響しているかの判断

以前、VMwareのSEの方に、やみくもにCPUなどを増やしても、パフォーマンスが出ないことがあると言われたことがあります。単純にvCPUを増やせばパフォーマンスが向上する訳ではなさそうですが、そのロジックは確認していません。


そして、VMwareのKBに、複数の仮想CPU (vCPU) がパフォーマンスに影響しているかの判断する方法が紹介されていました。


こちらです。

>>複数の仮想 CPU がパフォーマンスの問題の原因であるかどうかを判断 (2076836)


上記KBによると、ESX ホストで複数のCPUを持つ仮想マシンを実行していると、次のようなパフォーマンスの問題が発生することがあるそうです。

 

仮想マシンに、または仮想マシンからデータをコピーするときに転送速度が非常に遅い
・バックアップ ジョブがタイムアウトするか、非常に遅い
仮想マシンのパフォーマンス速度が非常に遅い



複数の仮想 CPU (vCPU) がパフォーマンスの問題の原因であるかどうかを判断する手順は以下になります。

①ESX ホストでコンソール プロンプトを開くか、ESX ホストへの SSH 接続を開始します。詳細は、コマンドまたはシェル プロンプトを開く (1003892) (Opening a command or shell prompt (1003892))を参照してください。
②esxtop と入力し、[Enter] を押します。
③CPU 画面で、%CSTP の値を確認します。この数字が 3.00 よりも大きい場合、vCPU カウントによってパフォーマンスの問題が発生します。仮想マシンの vCPU カウントの値を 1 まで小さくしてください。

注:%CSTP の値は物理ホスト上の複数のコアにスケジュールされた複数の CPU を持つ仮想マシンが待機する時間の量を示します。値が大きいほど、待機時間も長くなり、パフォーマンスも低下することになります。 vCPU の数を小さくすると、スケジュールされた待機時間も小さくなります。

そして、対処方法としてvCPU数のカウントを小さくするのが対処法とあります。事前に仮想マシンを停止する必要があります。

仮想マシンを右クリックし、設定の編集 をクリックします。
②CPUをクリックします。
③仮想プロセッサ数ドロップダウンを使用して vCPU カウントを 1 まで小さくします。
④OK をクリックします。
仮想マシンのパフォーマンスの問題が引き続き発生し、カーネルまたは HAL が単一の vCPU への切り替えを処理できる場合は、vCPU カウントを 1 に落とします。

ここで気になるのが、以前、CPUやメモリのサイズは減らさないほうがいいと聞いた事があるんですが、vCPUって減らしても問題ないんでしょうかね。意外とネットで検索しているとCPU、メモリを削減するといった内容がヒットしますが。ちなみに、ディスクも削減しないほうがいいと以前、聞きましたが、この辺りははっきりさせたいですね。 
 

無駄にリソースを割り当てていたらもったいないですからね。