GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum zeigt Windows 10 VM immer 100 % CPU-Auslastung auf QEMU-KVM an?

Möglicherweise haben Sie meinen Artikel über das Erstellen eines Windows-Images für OpenStack und die zugehörigen Artikel gelesen, wie z. Um die Serie zu ergänzen, bin ich hier auf ein anderes Problem gestoßen. Das heißt, die Windows 10-VM zeigt immer 100 % CPU-Auslastung auf QEMU-KVM, wodurch die VM unbrauchbar wird.

Setup-Info

KVM-Version: 4.2.0

Gastbetriebssystem: Windows10 Home-VM mit 8 vCPUs

HOST-CPU: AMD Opteron(TM) Prozessor 6212 mit

  • CPU-Modell:x86_64
  • CPU(s):32
  • CPU-Frequenz:2593 MHz
  • CPU-Sockel:1
  • Kerne pro Sockel:32
  • Thread(s) pro Kern:1
  • NUMA-Zelle(n):1
  • Speichergröße:65633412 KiB

Windows hat diese vCPUs jedoch als separate Prozessoren (keine Kerne) erkannt und konnte nur einen davon verwenden, wie unten gezeigt:

Problem

Öffnen Sie den Windows Device Manager und navigieren Sie zu Processors um sicherzustellen, dass 8 vCPUs zugewiesen wurden, die wir dem Gastbetriebssystem zugewiesen hatten.

Gleichzeitig zeigen sowohl die Windows 10-Eigenschaften als auch der Task-Manager an, dass nur 1 virtueller QEMU-Prozessor verfügbar ist.

Erklärung

Dies bedeutet, dass Windows 10 nur 1 Kern verwenden kann, egal wie viele davon Sie auf dem Prozessor haben.

Anzahl der unterstützten Prozessoren in Windows

Das Problem besteht darin, dass die Desktop-Version von Windows eine Beschränkung hinsichtlich der maximalen Anzahl physischer Prozessoren (Sockets) hat, die ein Computer verwenden kann

  • Windows 10 Home      – 1 CPU
  • Windows 10 Professional – 2 CPU
  • Windows 10 Workstation – bis zu 4 CPUs
  • Windows Server 2016 – bis zu 64 CPU

Diese Einschränkung bezieht sich jedoch nicht auf die Anzahl der Kerne. Um die Leistung der virtuellen Maschine zu verbessern, können Sie einen Prozessor mit mehr Kernen verwenden.

Lösung

Verwaltung von virtuellem Kern und vCPU in QEMU-KVM

In KVM Hypervisor mit Windows 10 VM werden alle zugewiesenen virtuellen Kerne als separate Prozessoren betrachtet. Um alle einer virtuellen Maschine zugewiesenen CPU-Ressourcen zu nutzen, muss sie einen 8-Kern-Prozessor sehen. Mit dem KVM-Hypervisor kann der Benutzer die Anzahl der virtuellen Kerne festlegen, die von jeder virtuellen Maschine verwendet werden.

Nie höhere Nr. konfigurieren. von Kernen auf jeder VM

Konfigurieren Sie niemals eine höhere Anzahl virtueller Kerne auf jeder VM als die Anzahl realer Kerne, die auf dem Hostcomputer verfügbar sind.

Fahren Sie die virtuelle Maschine herunter (win10 ist der Name der VM)

# virsh shutdown win10

Bearbeiten Sie die XML-Konfiguration der KVM-VM

# virsh edit win10

Ausgabe :

<domain type='kvm'>
<name>win10</name>
<uuid>3b4b8a6c-bf72-4cf8-8c63-fd7b5edf6784</uuid>
<metadata>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:os id="http://microsoft.com/win/10"/>
</libosinfo:libosinfo>
</metadata>
<memory unit='KiB'>8388608</memory>
<currentMemory unit='KiB'>8388608</currentMemory>
<vcpu placement='static'>8</vcpu>
<os>
<type arch='x86_64' machine='pc-q35-rhel8.2.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<hyperv>
<relaxed state='on'/>
<vapic state='on'/>
<spinlocks state='on' retries='8191'/>
</hyperv>
<vmport state='off'/>
</features>
....
....

Fügen Sie den folgenden Block nach </features> hinzu

<cpu mode='host-passthrough' check='none'>
<topology sockets='1' cores='8' threads='1'/>
</cpu>

Speichern Sie die Konfigurationsdatei und starten Sie die VM. Melden Sie sich jetzt bei der Windows 10-Gast-VM an und stellen Sie sicher, dass Windows alle zugewiesenen virtuellen Kerne im Task-Manager wie unten angezeigt sieht.


Linux
  1. Warum beginnt die Unix-Zeit am 1.1.1970?

  2. Warum funktioniert `exit &` nicht?

  3. Hohe CPU-Leistung, verursacht durch Sophos in Windows

  4. vmlinuz-Prozess läuft auf 100 % CPU

  5. Warum wird die von top in Linux gemeldete CPU-Auslastung über 100 % angegeben?

11 Gründe, warum Linux besser ist als Windows

Warum Nerds Linux verwenden

Windows – Gnome – Windows immer oben links öffnen?

Warum zeigt das Htop-Meter> 90 % an, während die Tabelle 0,0 % anzeigt?

So überprüfen Sie die Linux-CPU-Auslastung oder -Auslastung

Warum schneidet ein Hardware-Router besser ab als ein Linux-Router mit besseren Spezifikationen (RAM und CPU)?