Um die CPU-Auslastung von VirtualBox jederzeit zu verringern, greifen Sie auf diesen seltsamen Hack zurück.
Erstellen Sie eine neue virtuelle Maschine und installieren Sie kein Betriebssystem darauf. Sagen Sie VirtualBox, dass DOS ausgeführt wird, und geben Sie ihm die absoluten Mindestressourcen. Installieren Sie keine O / S. Führen Sie es aus, lassen Sie es beim Booten fehlerhaft und minimieren Sie es.
Während Sie Ihr reales Betriebssystem in einer zweiten VM ausführen, sinkt die Leerlauf-CPU-Auslastung der Virtualbox auf 3-5%.
Idee von jed4czar:
http://ubuntuforums.org/showthread.php?s=58e862a814e65eb96f8fe8389b615366&t=838073&page=2
EDIT: Um Ihre Fragen direkt zu beantworten
Warum verwendet Virtualbox 15-20% CPU, wenn die VM angehalten wird?
Es ist ein Fehler. Es verbraucht immer 15-20% mehr CPU als nötig, wenn eine VM aktiv ist, es sei denn, der bereitgestellte Hack wird verwendet.
Gibt es eine Möglichkeit, dies zu vermeiden?
Siehe Hack oben.
Ich habe den oben beschriebenen Hack mit der DOS-VM versucht, aber ohne Erfolg (Ubuntu 12.04-Gäste auf einem MacBook Pro mit OS X ausführen). Ich habe auch versucht, die im Oracle-Thread erwähnten Kernel-Parameteränderungen vorzunehmen , wieder keine Änderung. Egal was ich tat, meine Gäste schienen jeweils 15-20% CPU zu essen. Ich bemerkte jedoch, dass der eine Gast, dem ich zufällig 2 CPUs zugewiesen hatte, nicht 15-20% kaute - er verhielt sich wie erwartet.
Sicher genug, als ich die anderen auf 2 CPUs umstellte, verschwand das Problem. Aus früheren Erfahrungen weiß ich, dass das Umschalten auf 2 CPUs auch die IO APIC-Option im Motherboard-Bereich aktiviert, sodass ich vermutete, dass dies die wirklich interessante Änderung war. Das heißt, dieser:
Beachten Sie, dass Sie das Gerät herunterfahren müssen, um diese Einstellung zu ändern, da es sonst ausgegraut ist. Nachdem ich dies für die Gäste aktiviert und neu gestartet hatte, war es egal, ob ich eine oder mehrere CPUs hatte. Die CPU-Auslastung von 15 bis 20% ging verloren, sodass ich dachte, ich würde meine Lösung hier teilen.
quelle
Ich hatte das gleiche Problem auf einer Windows 7 Quad-Box, auf der Oracle 5 in der VM ausgeführt wird.
Nach Adams Rat habe ich die Option Enabled IO APIC aktiviert, aber ohne Erfolg. Also folgte ich der Idee von kmarsh, die wahrscheinlich weniger als eine Minute dauerte, und die Prozessorauslastung ging von 15-20% auf 4-5% zurück.
Die verwendeten Einstellungen waren: Name: Memory Hack, Typ: Andere, Version: DOS. Speichergröße: 4 MB, Festplatte: Fügen Sie keine virtuelle Festplatte hinzu. Klicken Sie auf [Erstellen]. Beim Starten der VM wird nach einer Startdiskette gefragt. Ich habe Folgendes verwendet: Host-Laufwerk 'D:', klicken Sie auf [Start]. Die virtuelle Maschine gibt an: "FATAL: Konnte nicht vom Startmedium lesen! System angehalten." Zu diesem Zeitpunkt sank die CPU-Auslastung, sodass ich das Fenster minimierte. Das Starten einer zweiten VM macht keinen Unterschied.
quelle
Ich habe dieses VirtualBox-Problem auf einem 2-CPU-P4-Computer mit 3 GB RAM auf einem CentOS 5.5-Host festgestellt.
Ich habe dieses Problem auf einem i720 8-CPU-Computer mit 8 Gigs mit 64-Bit-Win7 nicht festgestellt. Ich habe 3 virtuelle VMWare-Maschinen und die VirtualBox ausgeführt, alle mit 2 GB Speicher, und hatte keinerlei CPU-Probleme.
Dies deutet darauf hin, dass die Ausführung entweder auf einem "kleinen" Computer oder auf einem Linux-Host das Problem ist.
Ihre Lösung hat gut funktioniert, danke.
Ich stelle fest, dass diese früheren Beiträge ein Jahr alt sind und meine VirtualBox die neueste Version 4.0.4 ist, sodass Oracle diesen Fehler noch nicht behoben hat.
quelle
Die anderen Antworten erklären oder beheben den Fehler für mich nicht (Debian-Host, pausierter Ubuntu-Gast). Oracle hat einen Abschnitt dafür:
Quelle: Linux-Gäste können eine hohe CPU-Auslastung verursachen
quelle