GNU/Linux >> Linux Esercitazione >  >> Linux

Perché Windows 10 VM mostra l'utilizzo della CPU al 100% sempre su QEMU-KVM?

Potresti aver letto il mio articolo su Come creare un'immagine Windows per OpenStack e i suoi articoli correlati come la correzione di Windows che non è stato in grado di analizzare o elaborare il file di risposta automatico per Pass Specialize e Come configurare l'accesso automatico di Windows VM per OpenStack Cloud. Per aggiungere alla serie, qui ho riscontrato un altro problema. ovvero, la VM di Windows 10 mostra l'utilizzo della CPU al 100% sempre su QEMU-KVM, rendendo la VM inutilizzabile.

Informazioni sulla configurazione

Versione KVM: 4.2.0

OS ospite: VM Windows10 Home con 8vCPU

CPU HOST: Processore AMD Opteron™ 6212 con

  • Modello CPU:x86_64
  • CPU:32
  • Frequenza CPU:2593 MHz
  • Presa/e CPU:1
  • Core(i) per socket:32
  • Fili per core:1
  • Cella/e NUMA:1
  • Dimensioni della memoria:65633412 KiB

Tuttavia, Windows ha rilevato queste vCPU come processori separati (non core) e potrebbe utilizzarne solo 1 come mostrato di seguito:

Problema

Apri Device Manager di Windows e vai a Processors per assicurarci di aver allocato 8 vCPU che avevamo assegnato al SO guest.

Allo stesso tempo, sia le proprietà di Windows 10 che il task manager mostrano che è disponibile solo 1 processore virtuale QEMU.

Spiegazione

Significa che Windows 10 è in grado di utilizzare solo 1 core, non importa quanti di essi hai sul processore.

Numero di processori supportati in Windows

Il problema è che la versione desktop di Windows ha una restrizione sul numero massimo di processori fisici (socket) che un computer può utilizzare

  • Windows 10 Home      – 1 CPU
  • Windows 10 Professional – 2 CPU
  • Windows 10 Workstation:fino a 4 CPU
  • Windows Server 2016:fino a 64 CPU

Tuttavia, questa restrizione non è correlata al numero di core. Per migliorare le prestazioni della Macchina Virtuale, puoi utilizzare un processore con più core.

Soluzione

Gestire Virtual Core e vCPU in QEMU-KVM

Nell'hypervisor KVM che esegue Windows 10 VM, tutti i core virtuali assegnati sono considerati processori separati. Per utilizzare tutte le risorse CPU allocate a una macchina virtuale, è necessario che sia presente un processore a 8 core. L'hypervisor KVM consente all'utente di impostare il numero di core virtuali utilizzati da ciascuna macchina virtuale.

Mai configurare un n. di core su ogni macchina virtuale

Non configurare mai un numero maggiore di core virtuali su ciascuna VM rispetto al numero di core reali disponibili sul computer host.

Spegni la macchina virtuale (win10 è il nome della VM)

# virsh shutdown win10

Modifica la configurazione XML della VM KVM

# virsh edit win10

Risultato :

<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>
....
....

Aggiungi il seguente blocco dopo </features>

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

Salva il file di configurazione e avvia la VM. Ora accedi alla VM guest di Windows 10 e assicurati che Windows veda tutti i core virtuali allocati in Task Manager come di seguito.


Linux
  1. Perché Windows10 VM è lento su OpenStack?

  2. Perché Windows 10 VM mostra l'utilizzo della CPU al 100% sempre su QEMU-KVM?

  3. Perché Sudo ignora gli alias?

  4. Perché Unix Time inizia al 1970-01-01?

  5. Perché `esce &` non funziona?

11 motivi per cui Linux è migliore di Windows

Perché i nerd usano Linux

~ Sempre uguale a $casa?

Windows – Gnome – Windows sempre aperto in alto a sinistra?

Perché il misuratore Htop mostra>90% mentre la tabella è 0,0%?

Come controllare l'utilizzo o l'utilizzo della CPU di Linux