Ich habe einen Quad-Core-i7-Prozessor mit Hyperthreading (8 logische Kerne). Als ich eine virtuelle Maschine für die Verwendung von 8 Prozessoren konfigurierte, gab VirtualBox eine Warnung aus, dass ich nur vier Kerne habe (was wahr ist) und dass dies a verursachen kann Leistungsproblem. Hyper-Threading ist jedoch eine Hardwarefunktion, sodass das Betriebssystem 8 Kerne sieht und Anweisungen an alle 8 sendet. Wenn die VM auf 4 eingestellt wird, werden 2 Kerne (4 Threads) anstelle von 4 gleichzeitigen Threads (auf allen 4 Kernen) verwendet )? Berücksichtigt die Warnung, die ich erhalten habe, dass mein Computer über Hyper-Threading verfügt?
10
Ich habe festgestellt, dass es in VirtualBox zwar möglich (und wahrscheinlich schneller) ist (meine Erfahrung war mit Version 5.1.0), einer VM auf Basis logischer Prozessoren vCPUs zuzuweisen, bei hoher Last jedoch Probleme im Gastbetriebssystem auftreten können . In meinem Fall würde eine Windows 2012 R2-VM mit 12 vCPUs auf einem 8-Kern-Ubuntu 16.04-Host (der 16 logische Prozessoren meldet) BSOD bei hoher CPU-Auslastung mit der Fehlermeldung DPC_WATCHDOG_VIOLATION ausführen. Eine Minidump-Analyse mit osronline.com ergab, dass e1g6032e.sys (der in Windows native Intel 100/1000-Netzwerktreiber) die Ursache für den Verstoß ist.
Dies lässt mich glauben, dass das Timing innerhalb des Gastbetriebssystems negativ beeinflusst wird, wenn vCPUs basierend auf der logischen Prozessorkapazität zugewiesen werden und die VM über einen längeren Zeitraum unter hoher Last ausgeführt wird. In meinem Fall würde eine 100% ige CPU-Auslastung innerhalb der Windows-VM für einige Minuten zum BSOD führen. Nach dem Reduzieren der vCPU-Anzahl auf 8 (was der physischen Kernanzahl des Hosts entspricht) führt die Windows-VM unter ähnlichen Hochlastsituationen kein BSOD mehr aus. Die Online-Dokumentation von VirtualBox sagt, dass man dies tun sollte, bietet aber keine Gründe.
In meiner Umgebung wurden auch zwei andere Ubuntu-VMs mit jeweils 8 eigenen vCPUs ausgeführt. Die Belastung war jedoch zum Zeitpunkt der BSOD-Probleme der Windows-VM minimal.
quelle
Berücksichtigt die Warnung, die ich erhalten habe, dass mein Computer über Hyper-Threading verfügt?
Ja. Wenn Sie die Anzahl der Kerne in einer VM auf mehr als die physische Anzahl festlegen, werden die CPU-Ressourcen durch den Taskplanungsprozess in Virtual Box überlastet, was zu erheblichen Leistungsproblemen führt.
Die Verteilung der Last auf die Kerne ist die Aufgabe des Host-Betriebssystems und sollte sich korrekt verhalten.
quelle
War dies ein VM-Original für Ihren Computer? Manchmal treten besondere Fehler auf, wenn Sie eine VM klonen und auf einen anderen Computer verschieben und / oder Einstellungen ändern.
Ich empfehle, die neueste Version von Virtual Box mit den neuesten Erweiterungen herunterzuladen und zu installieren.
Ich habe alle acht Kerne festgeschrieben und erhalte diesen Fehler nicht, wenn mein i7 eine VM mit Ubuntu 13.10 ausführt.
quelle