VirtualBox VM は、VM に割り当てられた CPU の数を増やすと遅延します。

VirtualBox VM は、VM に割り当てられた CPU の数を増やすと遅延します。

Windows 10 上で Windows 10 を実行している VirtualBox VM があります。

ホストコンピュータの仕様:

Device name _______________
Processor   Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz   1.80 GHz
Installed RAM   8.00 GB (7.88 GB usable)
Device ID               ______________________________________
Product ID  ________________________
System type 64-bit operating system, x64-based processor
Pen and touch   Pen and touch support with 10 touch points

ゲスト VM の仕様は次のとおりです。

  • ラム: 3040MB
  • CPU: 1 プロセッサ
  • 執行キャップ: 100%
  • GPUメモリ: 256MB
  • 3Dアクセラレーション: 有効

ゲスト OS に VirtualBox の Guest Additions をインストールしています。このスペックでは、かなりスムーズに動作しますが、PC 上のボタンをクリックすると、読み込みに時間がかかります。プロセッサの数を 3 に変更すると、大幅に遅くなりました。

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

VM のパフォーマンスを向上させるにはどうすればよいですか?

答え1

プロセッサの数を 3 に変更すると、動作が劇的に遅くなりました。

CPUが増えるとゲストの速度が遅くなる

いいえ、何も間違ったことをしているわけではありません。プロセッサを追加するとゲストの速度は低下します。マルチプロセッサ ゲストでは命令を追跡するために必要な CPU 負荷にオーバーヘッドがあり、プロセッサの数が増えるほどオーバーヘッドも大きくなります。

ホストマシン (i5 8GB) は十分なので、ゲストマシンは高速ではありません。

テストとして、ゲスト マシンに 2GB を使用してみてください。

ホスト ハード ドライブの速度を確認します。5400 rpm では、仮想マシンで使用するには非常に低速です。7200 rpm ドライブは動作します (私の X230 には 7200 rpm ドライブが搭載されています)。高速 SSD は問題なく動作します。私の製品版 Thinkpad には高速ドライブが搭載されています。

答え2

コメントで他の場所VirtualBox の専門家「mpack」は次のように書いています:

現実には、多くの操作はディスクまたはネットワークに依存します。CPU に依存する操作はごくわずかです。

VM 用に作成するコアの数が増えるほど、これらのコアによって発生するオーバーヘッドも大きくなります (コンテキスト スイッチのため)。

実際には、理想的な選択は通常、2つのコア各 VM に。

ビデオエンコードなど、CPU を集中的に使用するタスクを一日中実行する必要がある場合は、これらのタスクを VM で実行しないでください。ホスト OS で実行すると、より高速に実行されます。

答え3

適切なストレージ ドライバーが使用されていることを確認します。私の知る限り、virtio ドライバーは Windows 用の VirtualBox 拡張機能にはまだ含まれていないため、Fedora プロジェクトから ISO をマウントして、個別にインストールする必要があります。その後、既存の仮想ハードドライブを提供する「コントローラー」を SATA から仮想 I/O デバイス SCSI に切り替えることができます。

Windows 10/11 では、ストレージ速度と使用可能な RAM (少なくとも最大 8 GB) の 2 つの点が重要になります。

したがって、あなたのケースでは次の仕様を使用します。 メモリ: 4096MB (Windows 10 のデスクトップ ディストリビューションを 4 GB 未満の RAM で実行することは、4 GB 以上で実行する場合とは質的に異なります (文字通り、いくつかの異なるコード パスがトリガーされます)。実質的には「サバイバル モード」であり、キャッシュされるのではなく、CPU やストレージなどの他のリソースに大きく依存することになります。)

仮想コア数: 2 (そうしないと、ホスト システムが飢餓状態になり、VM の仮想デバイスにも供給し続ける必要があり、特にホスト OS 上の他のすべてのプロセスと競合する場合は、1 つのコアでは確実に不十分になります)

関連情報