GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi la machine virtuelle Windows 10 affiche-t-elle toujours une utilisation du processeur à 100 % sur QEMU-KVM ?

Vous avez peut-être lu mon article sur Comment créer une image Windows pour OpenStack et ses articles connexes tels que la réparation de Windows n'a pas pu analyser ou traiter le fichier de réponses sans assistance pour Pass Specialize et Comment configurer la connexion automatique de la machine virtuelle Windows pour OpenStack Cloud. Pour ajouter à la série, ici j'ai rencontré un autre problème. c'est-à-dire que la machine virtuelle Windows 10 affiche toujours une utilisation du processeur à 100 % sur QEMU-KVM, ce qui rend la machine virtuelle inutilisable.

Informations de configuration

Version KVM : 4.2.0

OS invité : Machine virtuelle Windows10 Home avec 8vCPU

CPU HÔTE : Processeur AMD Opteron(TM) 6212 avec

  • Modèle de processeur :x86_64
  • CPU :32
  • Fréquence du processeur :2 593 MHz
  • Prise(s) CPU :1
  • Cœur(s) par socket :32
  • Thread(s) par cœur :1
  • Cellule(s) NUMA :1
  • Taille de la mémoire :65633412 Kio

Cependant, Windows a détecté ces vCPU comme des processeurs séparés (pas des cœurs) et il ne pouvait en utiliser qu'un seul comme indiqué ci-dessous :

Problème

Ouvrez le Device Manager de Windows et accédez à Processors pour s'assurer qu'il a alloué 8 vCPU que nous avions attribués au système d'exploitation invité.

Dans le même temps, les propriétés de Windows 10 et le gestionnaire de tâches indiquent qu'un seul processeur virtuel QEMU est disponible.

Explication

Cela signifie que Windows 10 ne peut utiliser qu'un seul cœur, quel que soit le nombre d'entre eux sur le processeur.

Nombre de processeurs pris en charge dans Windows

Le problème est que la version de bureau de Windows a une restriction sur le nombre maximum de processeurs physiques (sockets) qu'un ordinateur peut utiliser

  • Windows 10 Famille      – 1 processeur
  • Windows 10 Professionnel – 2 processeurs
  • Station de travail Windows 10 :jusqu'à 4 processeurs
  • Windows Server 2016 :jusqu'à 64 processeurs

Cependant, cette restriction n'est pas liée au nombre de cœurs. Afin d'améliorer les performances de la machine virtuelle, vous pouvez utiliser un processeur avec plus de cœurs.

Solution

Gestion du cœur virtuel et du vCPU dans QEMU-KVM

Dans KVM Hypervisor exécutant Windows 10 VM, tous les cœurs virtuels attribués sont considérés comme des processeurs distincts. Pour utiliser toutes les ressources CPU allouées à une machine virtuelle, celle-ci doit voir un processeur à 8 cœurs. L'hyperviseur KVM permet à l'utilisateur de définir le nombre de cœurs virtuels utilisés par chaque machine virtuelle.

Ne configurez jamais un numéro supérieur. de cœurs sur chaque machine virtuelle

Ne configurez jamais un nombre de cœurs virtuels supérieur sur chaque machine virtuelle au nombre de cœurs réels disponibles sur l'ordinateur hôte.

Arrêter la machine virtuelle (win10 est le nom de la VM)

# virsh shutdown win10

Modifier la configuration XML de la VM KVM

# virsh edit win10

Sortie :

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

Ajoutez le bloc suivant après </features>

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

Enregistrez le fichier de configuration et démarrez la VM. Connectez-vous maintenant à la machine virtuelle invitée Windows 10 et assurez-vous que Windows voit tous les cœurs virtuels alloués dans le gestionnaire de tâches comme ci-dessous.


Linux
  1. Pourquoi la machine virtuelle Windows10 est-elle lente sur OpenStack ?

  2. Pourquoi la machine virtuelle Windows 10 affiche-t-elle toujours une utilisation du processeur à 100 % sur QEMU-KVM ?

  3. Est-ce que ~ est toujours égal à $home ?

  4. Pourquoi l'heure Unix commence-t-elle au 1970-01-01 ?

  5. Le processus vmlinuz s'exécute sur 100 % du processeur

11 raisons pour lesquelles Linux est meilleur que Windows

Pourquoi les nerds utilisent Linux

Windows – Gnome – Windows toujours ouvert en haut à gauche ?

Pourquoi Htop Meter affiche-t-il> 90 % alors que le tableau est à 0,0 % ?

Comment vérifier l'utilisation ou l'utilisation du processeur Linux

Pourquoi un routeur matériel fonctionne-t-il mieux qu'un routeur Linux avec de meilleures spécifications (RAM et CPU) ?