VMの一時停止時にVirtualboxが15〜20%のCPUを使用するのはなぜですか?


10

私は、Win XPゲストを持つUbuntuでVirtualBox 3.1を実行しています。VMを一時停止すると(その画面がグレー表示される)、VirtualBoxがホストのCPUの15〜20%を使用し続けることに驚きました。

これは正常な動作ですか?

それを避ける方法はありますか?(VMの状態を保存せずにVirtualBoxを終了します。)

洞察をありがとう!

〜lara

回答:


8

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を使用しています。

それを避ける方法はありますか?

上記のハックを参照してください。


知っておくと、そのvboxは起動時に使用可能なcpu-sourcesを割り当てる
Diskilla

それは私のためにも修正しました!素晴らしいです、ありがとう。ちなみに、私はWindows 8.1を実行しています。VMはCentOSであり、アイドル時間に約15%のCPUを消費していました。VBox v4.3.12
Sebas

驚くべきことに、これはまだ問題です。
kmarsh

4

上記のハックをDOS VMで試しましたが、成功しませんでした(OS Xを搭載したMacBook ProでUbuntu 12.04ゲストを実行しました)。また、Oracleスレッドで言及されているカーネルパラメータの変更も試しましたが、変更はありませんでした。私が何をしても、私のゲストはそれぞれ15〜20%のCPUを消費しているようでした。しかし、たまたま2つのCPUを割り当てた1人のゲストが15〜20%消費していないことに気づきました。期待どおりに動作していました。

案の定、他のCPUを2つに切り替えたところ、問題は解消しました。以前の経験から、2つのCPUに切り替えるとマザーボードセクションでIO APICオプションも有効になることを知っているので、これは本当に興味深い変更だったのではないかと思いました。つまり、これは:

IOAPIC対応

この設定を変更するには、マシンをシャットダウンする必要があることに注意してください。シャットダウンしないと、灰色で表示されます。ゲストでこれを有効にして再起動すると、CPUが1つ以上あるかどうかに関係なく、15〜20%のCPU使用率がなくなったので、ここで自分のソリューションを共有すると思いました。


1

VMでOracle 5を実行しているWindows 7 Quadボックスでも同じ問題が発生しました。

Adamのアドバイスに従って、Enabled IO APICオプションをチェックしましたが、役に立ちませんでした。それで、私はkmarshのアイデアに従いました。これはおそらく1分もかからず、プロセッサの使用率は15〜20%から4〜5%に下がりました。

使用された設定は、名前:メモリハック、タイプ:その他、バージョン:DOSでした。メモリサイズ:4MB、ハードドライブ:仮想ハードドライブを追加しないでください。[作成]をクリックします。VMを起動すると起動ディスクが要求されます。使用したのは、ホストドライブ「D:」で、[開始]をクリックします。仮想マシンの状態:「致命的:ブートメディアから読み取れませんでした!システムが停止しました。」その時点で、CPU使用率が低下したため、ウィンドウを最小化しました。2番目のVMを起動しても違いはありません。


この問題は非常に複雑なため、誰も微調整しても修正できないようです。
kmarsh 2014年

0

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はまだこのバグを修正していません。


2
このパフォーマンスのペナルティは、新しいCPUにVT-xが搭載されており、ハードウェア支援の仮想化を可能にする面に関連していると思います。これは、VirtualBoxプログラムが機能せず、CPU使用率が低下することを意味します。P4はおそらくVT-xテクノロジーを備えていないため、ソフトウェアを介してシステムコールを変換し、結果としてより多くのCPUを使用する必要があります。
モクバイ

これは今では修正されているはずです。UbuntuホストとVirtualBox v4.3.6を実行しているXPゲストを使用してゲストを一時停止すると、CPU使用率が1%を下回る
Seeker

0

他の回答では、バグの説明や修正は行われません(Debianホスト、一時停止されたU​​buntuゲスト)。Oracleにはこれに関するセクションがあります。

一部のLinuxゲストは、ゲストシステムがアイドル状態のように見えても、高いCPU負荷を引き起こす可能性があります。これは、ゲストカーネルのタイマー頻度が高いことが原因である可能性があります。Fedoraなどの一部のLinuxディストリビューションは、1000Hzのタイマー周波数に設定されたLinuxカーネルを出荷しています。ゲストカーネルを再コンパイルし、100Hzのタイマー周波数を選択することをお勧めします。

Red Hat Enterprise Linuxに付属のLinuxカーネル、およびCentOSやOracle Linuxなどの関連するLinuxディストリビューションのカーネルは、カーネルパラメータDivider = Nをサポートしています。したがって、そのようなカーネルは再コンパイルせずに低いタイマー周波数をサポートします。カーネルパラメーターDivider = 10を追加して、ゲストカーネルタイマーの周波数を100Hzに選択することをお勧めします。

出典:Linuxゲストが高CPU負荷を引き起こす可能性がある

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