ハイパースレッディングを備えたクアッドコアホスト、VirtualBoxで構成するプロセッサの数


10

ハイパースレッディング(8論理コア)を備えたクアッドコアi7プロセッサーを使用していますが、8プロセッサーを使用するように仮想マシンを構成すると、VirtualBoxからコアが4つしかない(これは正しい)という警告が表示され、パフォーマンスの問題。ただし、ハイパースレッディングはハードウェア機能であるため、OSは8コアを認識し、すべての8に指示を送信します。4に設定すると、VMは4つの同時スレッド(すべての4コア)ではなく2コア(4スレッド)を使用することになります。 )?私が受け取った警告は、私のマシンにハイパースレッディングがあることを考慮していますか?

回答:


9

Kristian Wedbergによって行われたベンチマークに基づいて、私はあなたが持っているすべての論理コアを使用するべきだと思います。
また、同じCPU(i7、HTを搭載した4 CPU)を使用して独自のベンチマークを行い、マルチスレッドアプリケーションのパフォーマンスが向上することを確認しました。ゲストPC(Win。8.1 x64)が8コアすべてを使用した場合、ホストPC(Ubuntu x64)も8コアすべてを使用しました。

ここに画像の説明を入力してください

シングルスレッドアプリケーションのパフォーマンスも比較しました。どちらの場合も同じ値を測定したため、物理(ただし論理まで)を超える数のCPUを使用してもペナルティはありません。
ここでは、ゲストPCの1 CPUフルロードがホストPCの1 CPUロードにつながることがわかります。

ここに画像の説明を入力してください


同意した。私は4つのコアを使用していて、プロジェクトのビルド時にCPU時間が約50%しかかからないことがわかりました。その後、警告にもかかわらず、論理コアの数である8に変更しました。ビルドはCPU時間を100%使用しており、以前よりも高速に実行されたと思います。
2016

これは非常に興味深いです。Linuxは効率を向上させるために、各物理HTコアから1つの論理コアに負荷を集中しようとすることを読んだことを覚えています。ゲストLinuxカーネルがCPUがハイパースレッド化されていることを確認し、そのタイプの構成に合わせてそのスケジューリングを最適化するのかどうか疑問に思います。
Anthony

8

VirtualBox(私の経験はバージョン5.1.0でした)で論理プロセッサーに基づいてvCPUをVMに割り当てることが可能(そしておそらく間違いなく高速)ですが、高負荷で実行するとゲストOS内で問題が発生する可能性があることがわかりました。私の場合、8コアのUbuntu 16.04ホスト(16の論理プロセッサを報告する)に12のvCPUを備えたWindows 2012 R2 VMは、CPUの高負荷時にDPC_WATCHDOG_VIOLATIONエラーメッセージでBSODになります。使用ミニダンプ分析osronline.comは、違反の原因とe1g6032e.sys(Windowsにインテル100/1000ネットワークドライバのネイティブ)を示しました。

これにより、論理プロセッサの容量に基づいてvCPUを割り当て、VMを高負荷で長期間実行すると、ゲストOS内のタイミングに悪影響が及ぶと私は思います。私の場合、Windows VM内のCPU負荷が数分間100%になると、BSODが発生します。vCPU数を8(ホストの物理コア数に対応)に減らした後、同様の高負荷状況下でWindows VMがBSODを実行しなくなりました。VirtualBox のオンラインドキュメントには、これを行う必要があると記載されていますが、理由はありません。

私の環境では、他にも2つのUbuntu VMが実行されており、それぞれに独自の8個のvCPUが搭載されていました。ただし、Windows VMのBSODの問題が発生したときの負荷は最小限でした。


素晴らしい回答(ソース付き)、ありがとう!数年遅れましたが、今ではわかります:)
Anthony

2

私が受け取った警告は、私のマシンにハイパースレッディングがあることを考慮していますか?

はい。VMのコアの数を物理的に持っている数よりも多く設定すると、Virtual BoxのタスクスケジューリングプロセスがCPUリソースをオーバーコミットして、パフォーマンス上の大きな問題が発生します。

コア間で負荷を分散することは、ホストOSの仕事であり、正しい方法で動作するはずです。


4
あなたの発言を裏付けるデータはありますか?誰かがenvobi.com/post/virtualbox-hyper-threading-benchmark-surpriseを調査し、Virtual Box CPU数を論理 CPUの数に設定することを推奨しています。
Maxim Egorushkin、2015

0

これはあなたのマシンのオリジナルのVMでしたか?VMを複製して別のマシンに移動したり、設定を変更したりすると、特有のエラーが発生することがあります。
最新の拡張機能を備えた最新バージョンのVirtual Boxをダウンロードしてインストールすることをお勧めします。

8つのコアすべてをコミットしましたが、Ubuntu 13.10でVMを実行しているi7でそのエラーを受け取りません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.