VMのvCPUと物理CPUの挙動について軽く調べてみた | PCマニアときどきアウトドア

PCマニアときどきアウトドア

忘れっぽいので備忘録として記録することにしました

 ちょっと気になったので軽く調査。

 公式では、「VM上のOSからは単一コアCPUに見えている」「cpuid.coresPerSocketパラメータでvCPUあたりのコア数を設定できる」との事。

 自分の環境では、CentOS 6.5にインストールしたVMware playerで、Windows7を実行している。物理CPUはIntelのCore i7 950(4コア8スレッド)。


 VMの設定ではプロセッサ数を「4」に設定。vmxファイルを開くと、「cpuid.coresPerSocket = "4"」となっている。これは1CPUの4コア設定という認識でいいのか?そもそも4CPUならWindowsは認識しないはず。



 VM上のWindowsでデバイスマネージャを開くと、4つのプロセッサが認識されている。


 続いてCPU-Zのキャプ。名前はXeonだけど、スペック他はCore i7 950。ここでは4コアで認識されている。


 ついでにCPUキャッシュのキャプ。


 次にVM上で軽く負荷(古い2Dゲームを起動)をかけてみた。1コアが延々高負荷で、シングルスレッドのプログラムと予想。


 その際のホストOSのCPUの状態。VM上でシングルスレッドでも、ホスト上では各コアに負荷が分散されている。

 WindowsのクライアントOS(HomeとかProとか)は2個の物理CPUまでしか認識できなかったと思うけど、CentOSなどのLinuxはマルチCPUに対応している。ということは、4CPUや8CPUマシンでも、VMware上でなら、Windowsクライアントが使えるのかもしれない・・・