私は6つのCPUコアを搭載したIntelCore i73930Kを持っています。これで、そのすべてのコアが2つの別々のスレッドを処理できることを理解しました。これにより、12個の仮想コアが作成されます。これはシステムモニターを使用して確認できます(下のスクリーンショットを参照)。
しかし、OracleのVirtualBoxソフトウェアを使用して仮想マシンを作成すると、突然24個のCPUをそのマシンに割り当てることができます。どうして?
それで、それはどういう意味ですか?実際には24コアがありますか?それともVirtualBoxが間違っていますか?
また、たとえば4つのコアを割り当てるとどうなりますか?仮想マシンに実際に追加されるコアの数はいくつですか?
ハイパースレッディングの有無にかかわらず、1つのコアは、タイムスライスするだけで、任意の数の仮想コアをシミュレートできます。ただし、オペレーティングシステムは、同時に実行されているコードが実際にインターリーブすることを想定しているため、これによりあらゆる種類の問題が発生します。オーバープロビジョニングはパフォーマンスの低下につながる可能性があるため、システムがフリーズしているように見え、操作に文字通り数千倍の時間がかかる可能性があります。
4コアを割り当てると、VMに4コアが割り当てられます。ただし、ほとんどの場合、別のコアを追加するたびに多くのオーバーヘッドが追加されるため、1を割り当てる方がよいでしょう。
ケースには最大5つのコアを含めることができます。それを超えると、仮想マシンが不安定になります。
仮想ボックスでは、使用するコアの最大数を物理コアのn-1にすることをお勧めします。ハイパースレッディングはカウントされません。
プロセッサi73930KにはVT-xが搭載されています。
Intel®VirtualizationTechnology(VT-x)を使用すると、1つのハードウェアプラットフォームを複数の「仮想」プラットフォームとして機能させることができます。ダウンタイムを制限し、コンピューティングアクティビティを個別のパーティションに分離することで生産性を維持することにより、管理性が向上します。
つまり、処理できるスレッドよりも数個多いCPUをシミュレートできるため、仮想マシンを使用するときに使用可能なCPUの数が多くなります。
私の場合、4コア8スレッドプロセッサで8個のCPUのうち6個を使用すると、VirtualBoxが劣化する可能性があると警告したにもかかわらず、テストでは8個中4個よりも高速でした。
つまり、VirtualBoxは、初心者の場合は足を撃たないようにし、速度が遅いと不満を言うでしょうが、スーパーユーザーとしてはこの注意を却下することができます。
私は Intel-Core-i7-2820QM 4コアと8スレッドを持っています。 Windows10ホストとゲストを搭載したVirtualBox5.2.6を使用しています。
Virtual BoxGuestの設定で6CPU
sout 8を設定すると、次の値が serbenchmark になります。
マルチコア MCInt 307 MC Float 326 MC Mixed 315 47%316ポイント クアッドコア QCInt 270 QC Float 272 QC Mixed 268 61%270 Pts
CPU-Z:
設定4 CPU
s:
マルチコア MCInt 260 MC Float 269 MC Mixed 269 40%266 Pts クアッドコア QCInt 260 QC Float 264 QC Mixed 262 59%262 Pts
CPU-Z:
注:
テスト実行中に熱スロットリング(摂氏100度のときに発生)は発生しませんでした。