2010/08/05

CPUのソケット数とコア数。VMware vSphere4.1で仮想マシンに設定可能

Mware vSphere ESX 4.1で仮想マシンのVirtual SMPにおける仮想マルチコアCPU構成が可能になった。
http://www.atmarkit.co.jp/fserver/articles/vsphere41/01/03.html
つまり、仮想マシン(ゲストOS)に対し、1CPUソケット4コアのCPU定義設定が可能ということだ。
このCPUのソケット数とコア数を仮想マシンに設定定義可能ということはどういうことだろうか?

所詮は物理CPUのCPUコアを分けているだけなので、仮想マシンの性能的には変わらないが、仮想マシン上のライセンス問題に関係してくる!
例えば、SQL Server はCPUソケット単位でライセンスが定義されている・・・マイクロソフトはCPUライセンスはCPUソケット単位ライセンスだ。
例えば、今まではVMware上物理CPUとしては2ソケットなのに、仮想マシン上の仮想CPUは4CPUソケットになっていたため、CPU性能は劣るがライセンス代はかさむというライセンス問題があった。
このライセンス問題が改善されるのです!

またソフトウェアライセンスでひと悶着ありそうな予感です。

では、仮想マシン(ゲストOS)上のWindowsで、CPUのソケット数とかコア数を確認する方法はあるのでしょうか?
仮想マシンに限らず、Windows上で。
基本、Windows上のタスクマネージャ等で確認すると論理CPU数が表示されます

論理CPU数 = CPUソケット数 × 1CPUコア数 × ハイパースレッドの有り無し(2 or 1)

これではライセンスに必要なCPUソケット数がわかりません。
Windows OS上からはわからないのでしょうか?
Windows Server 2008 では msinfo32 コマンドで、CPUソケット数やCPUコア数がわかります(プロセッサ情報)
Windows Server 2003 以降では残念ながらわかりません。

しかし、CPU-Z等のソフトを使用すれば、CPUソケット数やCPUコア数がわかりますので、Windows内部的にはCPUソケット数がわかるようになっているはずです。
http://www.cpuid.com/softwares/cpu-z.html
ただ、インストールしなくてはならないので、あまり一回だけ知るためだけとかにソフトを使いたくはないですが^^


また、cscriptでWMIを使用出来る環境ならば、以下のcpu_core.vbsを作成し

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colCompSys = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objCS in colCompSys
str = " 物理CPU数: " & objCS.NumberOfProcessors & vbCrLf
str = str & " コア数: " & objCS.NumberOfLogicalProcessors & vbCtLf
WScript.Echo str
Next

> cscript //nologo cpu_core.vbs

で実行してみてください

0 件のコメント:

コメントを投稿