VirtualBox:物理CPUコアの数よりも多くの仮想CPUコアを割り当てるのは悪い考えですか?

LinuxSecurityFreak

私はハイパースレッディング対応のCPUを持っているので、次の警告が示すように、物理CPUコアの数よりも多くの仮想CPUコアを割り当てるのは悪い考えではないでしょうか。

VirtualBoxの警告

トランスクリプト:

ホストシステム上の物理CPUの数よりも多くの仮想CPUが仮想マシンに割り当てられます。これにより、仮想マシンのパフォーマンスが低下する可能性があります。仮想CPUの数を減らすことを検討してください。

誰かがこのトピックに推論を置くことができますか?

編集1:

問題のCPUは、Intel Core i7-4700HQ、Ark IntelCPUベンチマークです。

EDIT2:

仮に、HDD(SSDの代わりに)や低RAM(ここでは16GB、最小vm.swappiness、このVMでは4GB )などのような廃止されたハードウェアはありません

LinuxSecurityFreak

ハードウェア/ OS /ソフトウェア

ホスト:Linux Mint 18 Cinnamon 64ビット(完全に更新)。カーネルバージョン4.4.0-47-generic

ゲスト:Windows 8.1 Pro 64ビット(完全に更新)

プロセッサーIntel Core i7-4700HQ、(6MBキャッシュ、4つの物理コア、またはハイパースレッディングを使用する8つ)、CPUベンチマーク

VirtualBox:バージョン5.1.10 r112026(Qt5.5.1)

ゲストの追加:インストール済みで最新

ベンチマークツール#1WinRARバージョン5.40最終64ビット

ベンチマークツール#2VeraCryptバージョン1.19最終64ビット


準備

どちらの場合も、起動後、CPU、RAM、ディスクドライブがゼロ点近くで安定するまで待ちました。


方法

  1. 元の仮想マシンを複製して、2つの同一の仮想マシンを作成します。
  2. 2回目のパスでは、再起動が無効になっているため、この回答の下部にアンチウイルスが指摘され、どちらの場合もWinRARがベータ版から最終版に更新されました。
  3. 先ほど指摘したのと同じ準備をしました。
  4. 仮想マシンはフォアグラウンドで実行され、他のCPU時間のかかるアプリケーションを実行せずに、影響を受けないようにテストするためにできることを無効にしました。
  5. システムの内部または外部の潜在的なキャッシュを含めるために、結果として同じテストを2回実行しました。メリットはほとんどありません。

結果

WinRAR

  1. 4コア=> 7.5分(短い時間の方が良い)

    4コアが有効になっているWinRAR

    WinRAR with 4 cores enabled, 1.5GiB processed in 7.5 minutes.

  2. 8 cores => 4.5 minutes (shorter time is better)

    8コアが有効になっているWinRAR

    WinRAR with 8 cores enabled, 1.5GiB processed in 4.5 minutes.


VeraCrypt

  1. 4 cores => speed 2.6 GiB/s (higher speed is better)

    4コアが有効になっているVeraCrypt

    VeraCrypt with 4 cores enabled, HW-accelerated AES (AES-NI) speed 2.6 GiB/s.

  2. 8 cores => speed 3.9 GiB/s (higher speed is better)

    8コアが有効になっているVeraCrypt

    VeraCrypt with 8 cores enabled, HW-accelerated AES (AES-NI) speed 3.9 GiB/s.


Conclusion

I could run as many tests as necessary. But I figure, if these two, one of which is rather complex compression test, the second being a set of rather complex encryption tests, what would be the point.

Both of the benchmarks show a marked difference. I see no reason to believe, that their results are inaccurate, as I followed a rather rigorous preparation and method, moreover these tests have taken place in RAM to rule out I/O bottleneck. From my standpoint, the warning mentioned in the question may apply to some conditions, but certainly not all of them. Having shared with you these pretty remarkable results, I am certain for you to agree with me, that this warning probably should not be taken so seriously on modern CPUs featuring Hyper-Threading with the latest VirtualBox version. One thing for sure: Don't take me for the word and test it under your own conditions, before you decide to apply this setting permanently.


New benchmark

Host + Guest: Linux Mint 19.2 "Tina" - Cinnamon (64-bit); both with kernel: 5.3.0-24-generic.

Processor: Intel® Core™ i7-7700HQ; 6 MB Cache, up to 3.80 GHz, 4 physical cores, or 8 using Hyper-Threading, CPU Benchmark comparison

VirtualBox: Version 6.1.0 r135406 (Qt5.9.5)

Guest Additions: Installed and up-to-date

Benchmark Tool: VeraCrypt version 1.24 Hotfix1 64-bit final (web page, direct deb download link)


Preparation and Method

Same as previous benchmark.


Results

VeraCrypt AES encryption with 4 cores

⟶ speed 4.8 GiB/s (higher speed is better)

VeraCryptAES暗号化4コア=速度4.8GiB / s


8コアのVeraCryptAES暗号化(ハイパースレッディング警告が発行されました)

⟶速度7.2GiB / s (速度が速いほど良い)

VeraCryptAES暗号化8コア=速度7.2GiB / s

結論

ハイパースレッディングを有効にすると、パフォーマンスが50%向上しますが、残念ながらAESを使用した場合にのみ、より包括的なテストを実行する必要があります。結果とともに数日で戻ってきます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

printfが予想よりも多くの引数を出力するのはなぜですか?

分類Dev

1つのプロセスに複数のCPU /コアを割り当てます

分類Dev

KubuntuがYouTubeやその他のWebブラウジングで使用するWindowsよりもはるかに多くのCPUを使用しているのはなぜですか?

分類Dev

コアのCPU数が正しくないようです

分類Dev

異なるCPUコアを異なるプロセスに割り当てるにはどうすればよいですか?

分類Dev

仮想マシンにどのくらいのメモリ(RAM)を割り当てる必要がありますか?

分類Dev

非常に多くのアプリケーションが、仮想メモリをまったく使用せずに非常に大量の仮想メモリを割り当てるのはなぜですか?

分類Dev

Javaのスケーリングは、多くのコアでC#よりはるかに悪いですか?

分類Dev

JavaにインストールされているCPU(またはコア)の数を確認する方法はありますか?

分類Dev

CPUコア数を増やすと、Freemarkerを使用するSpring Webappが遅くなるのはなぜですか?

分類Dev

複数のコアでgoroutineの割り当てが遅くなるのはなぜですか?

分類Dev

新しいスレッドはJavaの別のCPUコアに自動的に割り当てられますか?

分類Dev

WindowsのCPUで実際のコアの数を取得するにはどうすればよいですか?

分類Dev

CPUよりもはるかに多くのジョブを実行する効率

分類Dev

プロセスへのCPUコアの割り当て-Linux

分類Dev

Bazelが使用するCPUコアの数を制限する方法はありますか?

分類Dev

CPUコアの数よりもKafkaのトピックをもっと読む

分類Dev

自分が持っているよりも多くのコアを使おうとするとどうなりますか?

分類Dev

「任意のCPU(32ビットを推奨)」で.NET 4.5でx86よりも多くのメモリを割り当てることができるのはなぜですか?

分類Dev

ElixirのCPU内のコアの量を知るにはどうすればよいですか?

分類Dev

複数のフォルダにアイコンを割り当てるより速い方法はありますか?このコードをどのように改善できますか?

分類Dev

PHPは、予想されるメソッドよりも多くの引数の受け渡しを常にサポートしていますか?

分類Dev

プロセッサのコア数よりも多くのプロセスを実行するのはなぜ悪い考えですか?

分類Dev

Service Fabricアクターが予想よりも多くのディスクスペースを使用しているのはなぜですか?

分類Dev

ドメインをRDSインスタンスに割り当てるのは悪い考えですか?

分類Dev

Numpyドット操作はすべてのCPUコアを使用しているわけではありません

分類Dev

プロセスの数がPythonのCPUのスレッドの総数よりも多い場合、アプリケーションをより高速に実行できるのはなぜですか?

分類Dev

C ++では、オブジェクトのコピーは可能ですが、非常にコストがかかり、通常は悪い考えである場合でも、コピーコンストラクターを使用してコピーを実装する必要がありますか?

分類Dev

値の割り当てがネストされたループで、予想よりも多くの時間を割り当てるのはなぜですか?

Related 関連記事

  1. 1

    printfが予想よりも多くの引数を出力するのはなぜですか?

  2. 2

    1つのプロセスに複数のCPU /コアを割り当てます

  3. 3

    KubuntuがYouTubeやその他のWebブラウジングで使用するWindowsよりもはるかに多くのCPUを使用しているのはなぜですか?

  4. 4

    コアのCPU数が正しくないようです

  5. 5

    異なるCPUコアを異なるプロセスに割り当てるにはどうすればよいですか?

  6. 6

    仮想マシンにどのくらいのメモリ(RAM)を割り当てる必要がありますか?

  7. 7

    非常に多くのアプリケーションが、仮想メモリをまったく使用せずに非常に大量の仮想メモリを割り当てるのはなぜですか?

  8. 8

    Javaのスケーリングは、多くのコアでC#よりはるかに悪いですか?

  9. 9

    JavaにインストールされているCPU(またはコア)の数を確認する方法はありますか?

  10. 10

    CPUコア数を増やすと、Freemarkerを使用するSpring Webappが遅くなるのはなぜですか?

  11. 11

    複数のコアでgoroutineの割り当てが遅くなるのはなぜですか?

  12. 12

    新しいスレッドはJavaの別のCPUコアに自動的に割り当てられますか?

  13. 13

    WindowsのCPUで実際のコアの数を取得するにはどうすればよいですか?

  14. 14

    CPUよりもはるかに多くのジョブを実行する効率

  15. 15

    プロセスへのCPUコアの割り当て-Linux

  16. 16

    Bazelが使用するCPUコアの数を制限する方法はありますか?

  17. 17

    CPUコアの数よりもKafkaのトピックをもっと読む

  18. 18

    自分が持っているよりも多くのコアを使おうとするとどうなりますか?

  19. 19

    「任意のCPU(32ビットを推奨)」で.NET 4.5でx86よりも多くのメモリを割り当てることができるのはなぜですか?

  20. 20

    ElixirのCPU内のコアの量を知るにはどうすればよいですか?

  21. 21

    複数のフォルダにアイコンを割り当てるより速い方法はありますか?このコードをどのように改善できますか?

  22. 22

    PHPは、予想されるメソッドよりも多くの引数の受け渡しを常にサポートしていますか?

  23. 23

    プロセッサのコア数よりも多くのプロセスを実行するのはなぜ悪い考えですか?

  24. 24

    Service Fabricアクターが予想よりも多くのディスクスペースを使用しているのはなぜですか?

  25. 25

    ドメインをRDSインスタンスに割り当てるのは悪い考えですか?

  26. 26

    Numpyドット操作はすべてのCPUコアを使用しているわけではありません

  27. 27

    プロセスの数がPythonのCPUのスレッドの総数よりも多い場合、アプリケーションをより高速に実行できるのはなぜですか?

  28. 28

    C ++では、オブジェクトのコピーは可能ですが、非常にコストがかかり、通常は悪い考えである場合でも、コピーコンストラクターを使用してコピーを実装する必要がありますか?

  29. 29

    値の割り当てがネストされたループで、予想よりも多くの時間を割り当てるのはなぜですか?

ホットタグ

アーカイブ