1 votes

KVM 1 cpu core est à 100% alors que les autres sont à 10%-20% de charge.

Je ne sais pas qui ou quoi utilise cette quantité de CPU, la machine est un bi-quadcore avec 16 GB de ram. Exécution d'Ubuntu 10.04

Chaque cœur semble utiliser 10 à 20 %, sauf un qui semble utiliser 100 % en permanence.

En ce moment, j'ai environ 14 machines virtuelles qui tournent dessus, certaines ont 4 cœurs disponibles mais la plupart n'en ont qu'un seul.

En haut, je remarque :

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

7873 root      20   0  530m  14m 3220 S  103  0.1   5597:41 kvm

J'ai essayé d'utiliser kvm_stat :

kvm statistics

 efer_reload               2400       0
 exits               2199561167    6100
 fpu_reload          1244255128     136
 halt_exits          4368568581    1189
 halt_wakeup         1714293806     103
 host_state_reload   7549984578    1572
 hypercalls                   0       0
 insn_emulation      1398403526    3069
 insn_emulation_fail          3       0
 invlpg               767635659      37
 io_exits            2822598937     395
 irq_exits           1449081931     283
 irq_injections      4773146061    1220
 irq_window           125330658       8
 largepages                   0       0
 mmio_exits           326399432       0
 mmu_cache_miss       192709243       7
 mmu_flooded           69103717       4
 mmu_pde_zapped       259908526      15
 mmu_pte_updated            156       0
 mmu_pte_write        329155981      19
 mmu_recycled            856835       0
 mmu_shadow_zapped    192679259       5
 mmu_unsync               19380      -6
 nmi_injections               0       0
 nmi_window                   0       0
 pf_fixed            6517240715     389
 pf_guest            4434843050     217
 remote_tlb_flush     582797544      34
 request_irq                  0       0
 signal_exits                 5       0
 tlb_flush           1708903974     201

Mais je vais être honnête, je ne comprends pas comment lire cela et comment savoir s'il y a un goulot d'étranglement quelque part. Comment un processus peut-il passer à 103 % de charge ? Ce fil de discussion est-il lié ? Dois-je m'inquiéter ou est-ce un comportement normal ?

2voto

Giovanni Toraldo Points 2537

Si vous appuyez sur la touche 'c' en haut, vous pouvez voir la commande complète et comprendre de quelle VM il s'agit (mais un ps aux|grep 7873 le fera aussi).

Après avoir découvert quelle VM génère ces charges CPU, vous devez la vérifier, par exemple si elle a des processus bloqués ou si elle est suspendue (généralement, les processus 100% kvm sont des VM bloquées à l'étape du chargeur de démarrage).

0voto

Chris Labonne Points 91

Une explication possible : Il y a une unité centrale désignée qui est responsable de la gestion de l'interruption pour l'interface réseau. Cette unité centrale désignée est responsable de TOUTES les paquets entrants pour TOUTES Machines virtuelles. Cette unité centrale désignée interrompt alors l'unité centrale assignée à la machine virtuelle pour la destination du paquet.

La réponse d'Intel à cette question est SR-IOV. . Si vous avez des interfaces réseau très rapides et que vous recevez un grand nombre de paquets, cela peut expliquer pourquoi vous rencontrez cet effet.

Vous pouvez également chercher à régler votre paramètre d'interruption de réseau sous Linux.

Bonne chance. J'aimerais avoir des nouvelles si cela vous aide :)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X