私は、Win XPゲストを持つUbuntuでVirtualBox 3.1を実行しています。VMを一時停止すると(その画面がグレー表示される)、VirtualBoxがホストのCPUの15〜20%を使用し続けることに驚きました。
これは正常な動作ですか?
それを避ける方法はありますか?(VMの状態を保存せずにVirtualBoxを終了します。)
洞察をありがとう!
〜lara
私は、Win XPゲストを持つUbuntuでVirtualBox 3.1を実行しています。VMを一時停止すると(その画面がグレー表示される)、VirtualBoxがホストのCPUの15〜20%を使用し続けることに驚きました。
これは正常な動作ですか?
それを避ける方法はありますか?(VMの状態を保存せずにVirtualBoxを終了します。)
洞察をありがとう!
〜lara
回答:
VirtualBoxのCPU使用率を常に削減するには、この奇妙なハックに頼ってください。
新しい仮想マシンを作成し、オペレーティングシステムをインストールしないでください。VirtualBoxにDOSを実行し、最小限のリソースを提供するように伝えます。O / Sをインストールしないでください。それを実行し、起動時にエラーを出して最小化します。
2番目のVMで実際のO / Sを実行している間、アイドル状態のVirtualboxのCPU使用率が3〜5%に低下します。
jed4czarからのアイデア:http ://ubuntuforums.org/showthread.php?s=58e862a814e65eb96f8fe8389b615366&t=838073&page=2
編集:質問に直接回答するには
VMの一時停止時にVirtualboxが15〜20%のCPUを使用するのはなぜですか?
バグです。提供されたハックが使用されない限り、いずれかのVMが稼働しているときは常に、必要以上に15-20%多いCPUを使用しています。
それを避ける方法はありますか?
上記のハックを参照してください。
上記のハックをDOS VMで試しましたが、成功しませんでした(OS Xを搭載したMacBook ProでUbuntu 12.04ゲストを実行しました)。また、Oracleスレッドで言及されているカーネルパラメータの変更も試しましたが、変更はありませんでした。私が何をしても、私のゲストはそれぞれ15〜20%のCPUを消費しているようでした。しかし、たまたま2つのCPUを割り当てた1人のゲストが15〜20%消費していないことに気づきました。期待どおりに動作していました。
案の定、他のCPUを2つに切り替えたところ、問題は解消しました。以前の経験から、2つのCPUに切り替えるとマザーボードセクションでIO APICオプションも有効になることを知っているので、これは本当に興味深い変更だったのではないかと思いました。つまり、これは:
この設定を変更するには、マシンをシャットダウンする必要があることに注意してください。シャットダウンしないと、灰色で表示されます。ゲストでこれを有効にして再起動すると、CPUが1つ以上あるかどうかに関係なく、15〜20%のCPU使用率がなくなったので、ここで自分のソリューションを共有すると思いました。
VMでOracle 5を実行しているWindows 7 Quadボックスでも同じ問題が発生しました。
Adamのアドバイスに従って、Enabled IO APICオプションをチェックしましたが、役に立ちませんでした。それで、私はkmarshのアイデアに従いました。これはおそらく1分もかからず、プロセッサの使用率は15〜20%から4〜5%に下がりました。
使用された設定は、名前:メモリハック、タイプ:その他、バージョン:DOSでした。メモリサイズ:4MB、ハードドライブ:仮想ハードドライブを追加しないでください。[作成]をクリックします。VMを起動すると起動ディスクが要求されます。使用したのは、ホストドライブ「D:」で、[開始]をクリックします。仮想マシンの状態:「致命的:ブートメディアから読み取れませんでした!システムが停止しました。」その時点で、CPU使用率が低下したため、ウィンドウを最小化しました。2番目のVMを起動しても違いはありません。
CentOS 5.5ホストを実行する3gigs ramを搭載した2-cpu P4マシンでこのVirtualBoxの問題が発生しました。
64ビットWin7を実行する8ギガのi720 8cpuマシンでは、この問題は発生しませんでした。3つのVMWare仮想マシンとVirtualBoxを実行しましたが、すべて2 GBのメモリを搭載しており、CPUの問題はまったくありませんでした。
これは、「小さめの」マシンまたはLinuxホストでの実行が問題であることを示唆しています。
ありがとうございます。
これらの以前の投稿は1年前のものであり、私のVirtualBoxは最新のバージョン4.0.4であるため、Oracleはまだこのバグを修正していません。
他の回答では、バグの説明や修正は行われません(Debianホスト、一時停止されたUbuntuゲスト)。Oracleにはこれに関するセクションがあります。
一部のLinuxゲストは、ゲストシステムがアイドル状態のように見えても、高いCPU負荷を引き起こす可能性があります。これは、ゲストカーネルのタイマー頻度が高いことが原因である可能性があります。Fedoraなどの一部のLinuxディストリビューションは、1000Hzのタイマー周波数に設定されたLinuxカーネルを出荷しています。ゲストカーネルを再コンパイルし、100Hzのタイマー周波数を選択することをお勧めします。
Red Hat Enterprise Linuxに付属のLinuxカーネル、およびCentOSやOracle Linuxなどの関連するLinuxディストリビューションのカーネルは、カーネルパラメータDivider = Nをサポートしています。したがって、そのようなカーネルは再コンパイルせずに低いタイマー周波数をサポートします。カーネルパラメーターDivider = 10を追加して、ゲストカーネルタイマーの周波数を100Hzに選択することをお勧めします。