VMware vSphere 4 (VMwareESX4) でCPUの論理数を制限する

VMwareESXの論理CPU数は、1core=1OSじゃないと最大パフォーマンスが出ないのは周知の事実ですが、では1core=2OSを検証してみような感じで。
つー事で、とりあえずESXが使用するCPUの数を制限する方法とか。

制限しなくても、普通にOSを沢山乗せれる環境だったらそのままテストすれば良いんですけどね。
今回は、クアッドコアにメモリ2GBというアンバランスな環境を想定です。


Case:失敗編

まー、最初は失敗した事から。
通常のLinuxだと、grubのラベルに「maxcpus=2」見たいに書けば2CPUに制限できるんです。
そんな感じでさっそく実験。
VMware4_grug_0.pngVMware4_grug_1.pngVMware4_grug_2.png
GRUBのメニューが出てきたところで、矢印キーを押して「VMware ESX 4.0」を選択します。
通常は、デフォルトで選択されているはず。
その状態でキーボードの「e」キーを押すと編集画面に移動。
次に現れる画面で、「kernel ~」で始まる行に矢印で移動し、「e」キーを押すと編集。
編集画面にて、quietのあとに「 maxcpus=2」を追記。Enterキーを押すと前の画面に戻ります。
VMware4_grug_3.pngVMware4_grug_4.png
前の画面に戻ったら、キーボード「b」キーを押しOSをブートさせる感じ。
ただし、どうもこれだとコンソールのLinuxが使うCPUを制限するだけで、ハイパーバイザ側のCPU数は制限していないみたい?
「# cat /proc/cpuinfo」で確認しても、CPU数0みたいな。


Case:ちょっと成功編

続いて成功編。
Advanced_Settings.jpg
VMware vSphere Clientより、vSphere 4かESX Serverへ接続します。
CPUを制限するサーバを選択して「Configuration」⇒「Advanced Settings」を選択。
64cpu.jpg2cpu.jpg
設定の画面が出てきたら、VMkernelの項目を見ます。
ここの、真ん中の少し上ぐらいに「VMkernel.Boot.maxPCPUS」と言う項目があったり。
どうもここの値がVMkernelが使うCPU数のリミット値のようです。デフォルトは64で、2へ変更。
「OK」ボタンを押した後、VMwareESXを再起動させれば完了。

Performance.jpgcpu0-1.jpg
標準のパフォーマンスグラフを見比べてみると、今までCore:2-3の左側の四角に色が付いていたのに、設定後は空白になっておりグラフに表示されません。

また、VMwareの起動画面もリミットされているとの表示がされます。
VMware_vSphere_4_TOP.png
今回の場合は「TSC: 69872334 cpu0:0)SMP: 946: 4 PCPUs configured, only using 2 due to specified limit」の表示がそれですね。


そんな感じでCPU制限は完了。後は野となれ山となれ(笑)
もうちょっとスマートな方法がありそうなんで、もう少し調べてみますかね。

| コメント(0) | トラックバック(0) |
■Yahoo!オークション おすすめ商品■
Web Services by Yahoo! JAPAN

トラックバック(0)

トラックバックURL: http://type-y.com/mt/mt-tb.cgi/885

コメントする