VMWare PlayerでCPUを2つ以上使う(デュアルコア・クアッドコア)
VMWareで、普通に(何をもって普通と言うかはしらないけど)vmx作ってゲストOSを起動すると、ホストにデュアルコアを積んでようがクアッドコアを積んでいようが、VMWareのゲストOS上で使えるCPU数は1つだけになってしまします。
これは、
% cat /proc/cpuinfo
を見るとわかります。processor 0 しか認識されてないと思います。
確かめる
$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz stepping : 8 cpu MHz : 2402.709 cache size : 4096 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx lm constant_tsc pni ds_cpl cx16 lahf_lm bogomips : 4808.38 processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz stepping : 8 cpu MHz : 2402.709 cache size : 4096 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx lm constant_tsc pni ds_cpl cx16 lahf_lm bogomips : 4808.41
これで、cpuを二つ使えるようになりました。
さらに確認
% php -r 'while(1) echo 1;' >/dev/null
これを2つ以上実行します。(バックグラウンドで実行してもいいし、sshで複数ログインして実行してもヨシ)
で、実行中のホストOSのCPU使用率。(タスクマネージャのスクリーンショットです)
上にあるバカ高いメモリ使用率のプロセスは、メイン開発につかっているCentOS。(メモリ768M割り当ててるのでアホ使用率。) その下の、ハイライトされてるやつが、今回実験用に起動した実験CentOS。ちゃんとCPU使用率が50%になってると思います。(私のホストマシンはクアッドコアなのでこれで正しいのです。)