Es kann etwas knifflig sein, eine virtuelle Maschine (VM) dazu zu bringen, alle vCPUs korrekt zu erkennen, insbesondere wenn Windows die Kerne nicht wie vorgesehen erkennt. Manchmal weist man einer KVM-VM beispielsweise 8 vCPUs zu, aber Windows erkennt nur 2 Kerne oder Prozessoren. Warum das so ist, ist unklar, aber in manchen Konfigurationen stößt Windows an seine Grenzen – möglicherweise aufgrund von Lizenzbestimmungen, Architekturbeschränkungen oder einfach der Konfiguration. Diese Information ist hilfreich, wenn man die volle Leistung herausholen möchte oder wenn Anwendungen träge reagieren, weil sie weniger Kerne erkennen als zugewiesen. Ziel ist es, dass Windows die Kerne so erkennt, wie sie im Hypervisor konfiguriert sind, damit die Arbeitslast optimal verteilt und Engpässe vermieden werden können. In der Praxis funktioniert es in einer Konfiguration nach Anpassung der CPU-Einstellungen einwandfrei, in einer anderen… eher weniger. Denn Windows macht es einem manchmal unnötig schwer. Aber keine Sorge, es gibt Lösungen, hauptsächlich durch Anpassen der VM-Einstellungen und Sicherstellen, dass die Anzahl der vCPUs der Architektur des physischen Prozessors entspricht. Schauen wir uns einige Lösungsansätze an, die Windows dabei helfen, alle Kerne korrekt zu erkennen.
So beheben Sie das Problem, dass eine Windows 10-VM nur 2 Kerne erkennt
Methode 1: Optimieren der VM-CPU-Topologie in KVM
Das hilft definitiv, wenn Windows nur 2 Kerne anzeigt, obwohl Sie mehr zugewiesen haben. Es geht darum, die Darstellung der virtuellen CPUs durch die VM gegenüber Windows anzupassen. Wenn Sie mehrere vCPUs zuweisen, kann der Hypervisor die Prozessortopologie – Anzahl der Sockel, Kerne und Threads – emulieren, die Windows benötigt, um die Systemarchitektur zu verstehen. Anstatt beispielsweise einfach 8 vCPUs zuzuweisen, weisen Sie ihn an, diese als 1 Sockel mit 4 Kernen pro Sockel und 2 Threads pro Kern darzustellen, wie in diesem Codebeispiel:
<cpu mode='host-passthrough' check='none'> <topology sockets='1' cores='4' threads='2'/> </cpu>
Dadurch sollte Windows einen einzelnen Prozessor mit 4 Kernen und jeweils 2 Threads erkennen, was das Problem der Kernerkennung häufig behebt. Dazu müssen Sie die VM herunterfahren und anschließend deren XML-Konfiguration bearbeiten.
- Führen Sie den Befehl aus
# virsh dumpxml <your-vm-name>, um die aktuelle Konfiguration anzuzeigen. - Bearbeiten über
# virsh edit <your-vm-name> - Suchen Sie das Ende des <features>-Blocks und fügen Sie den oben gezeigten <cpu>-Topologieblock ein.
- Speichern Sie die VM und starten Sie sie erneut.
Wenn Windows geladen ist, überprüfen Sie den Task-Manager. Dort sollten alle zugewiesenen Kerne oder vCPUs gemäß Ihrer Topologie korrekt zugeordnet sein. Diese Methode hilft der VM, ihre CPU-Struktur so darzustellen, dass Windows sie besser versteht. Auf verschiedenen Hosts oder in unterschiedlichen Konfigurationen ist dies oft der Schlüssel, damit Windows nicht durcheinanderkommt, wie viele Kerne ihm zur Verfügung stehen.
Methode 2: Anpassen der CPU-Einstellungen der VM in vSphere (für VMware-Systeme)
Wenn Sie VMware verwenden, können Sie im Prinzip dasselbe über die grafische Benutzeroberfläche erreichen. Schalten Sie die virtuelle Maschine aus, öffnen Sie deren Einstellungen und gehen Sie dann zum Abschnitt „CPU“.Hier können Sie die Einstellung „Kerne pro Sockel“ anpassen. Wenn Sie beispielsweise 4 Kerne pro Sockel bei 2 Sockeln einstellen, erkennt Windows ein System mit 2 Sockeln und jeweils 4 Kernen. Speichern Sie die Einstellungen, starten Sie die virtuelle Maschine und prüfen Sie, ob Windows nun alle Kerne erkennt. Diese Anpassungen verhindern, dass Windows die virtuelle CPU-Topologie falsch interpretiert, was zu Leistungseinbußen oder unzureichender Auslastung führen kann.
Warum das wichtig ist und was zu erwarten ist
Dies wirkt sich direkt auf die Leistung aus – insbesondere bei rechenintensiven Anwendungen oder Diensten. Nach diesen Anpassungen sollte Windows alle Kerne erkennen, und Anwendungen können Aufgaben gleichmäßiger verteilen. Erfahrungsgemäß sind nach Konfigurationsänderungen manchmal Neustarts oder erneute Scans erforderlich, meistens funktioniert es jedoch direkt nach der Bearbeitung der VM-XML- oder GUI-Einstellungen. Falls in Windows weiterhin nur 2 Kerne angezeigt werden, überprüfen Sie die Rohkonfiguration der VM oder versuchen Sie, die Topologieinformationen erneut zuzuweisen – manchmal werden Änderungen nicht beim ersten Mal übernommen.
Zusammenfassung
Sicherzustellen, dass Windows alle vCPUs als echte Kerne oder Prozessoren erkennt, ist nicht immer einfach. Die meisten Probleme lassen sich jedoch durch Anpassen der CPU-Topologie in der VM-Konfiguration beheben. Es ist ein komplexes Zusammenspiel zwischen den Funktionen des Hypervisors und deren Interpretation durch Windows. Manchmal muss man sogar direkt in die Konfigurationsdateien oder VM-Einstellungen eingreifen. Ehrlich gesagt, kann das Experimentieren mit der Topologie und die Anpassung der VM-Einstellungen an die physische Architektur viel Ärger ersparen und die Leistung verbessern. Wenn dies auch nur ein wenig hilft, hat sich die Mühe gelohnt. Hoffentlich hilft es jemandem, seine VM reibungslos zum Laufen zu bringen und alle Kerne korrekt zu nutzen.
Zusammenfassung
- Modifizieren Sie die VM-CPU-Topologie mit Kern-/Thread-Informationen.
- Überprüfen Sie Ihre VM-XML-Konfiguration oder die GUI des Hypervisors.
- Passen Sie die virtuelle CPU-Darstellung an Ihre physische CPU-Architektur an.
- Windows sollte nach den Anpassungen alle Kerne ordnungsgemäß erkennen.
Schlussworte
Hoffentlich vereinfacht das die Einrichtung virtueller CPUs etwas. Diese einfachen Topologieänderungen können einen großen Unterschied machen und dazu führen, dass Windows alle zugewiesenen Ressourcen optimal nutzt. Bei mir funktioniert es – hoffentlich auch bei anderen.