KVM 1 cpu core está em 100% enquanto outros em 10% -20% load

1

Eu não sei o que ou quem está usando essa quantidade de CPU, a máquina é um bi-quadcore com 16 GB de RAM. Executando o Ubuntu 10.04

Todo núcleo parece estar usando 10-20%, exceto por um núcleo que parece estar usando 100% constantemente.

No momento eu tenho cerca de 14 máquinas virtuais rodando nele, algumas com 4 núcleos disponíveis, mas a maioria delas apenas 1.

No topo, reparei:

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

Eu tentei usar o 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

Mas eu vou ser honesto, eu não entendo como ler isso e como saber se há um gargalo em algum lugar. Como um processo pode entrar em carga de 103%? Este tópico está relacionado? Eu deveria estar preocupado ou isso é um comportamento normal?

    
por Lucas Kauffman 11.09.2011 / 08:42

2 respostas

2

Se você pressionar a tecla 'c' dentro do topo, você poderá ver o comando completo e entender qual é a VM (mas o ps aux | grep 7873 também fará isso).

Depois de descobrir qual VM está gerando essa carga da CPU, verifique-a, como se ela tivesse algum processo travado ou estivesse paralisada (em geral, o processo 100% kvm é uma medida da VM no estágio do gerenciador de inicialização).

    
por 16.10.2011 / 11:20
0

Uma explicação possível: Existe uma CPU designada responsável por atender a interrupção da interface de rede. Essa CPU designada é responsável pela entrada de todos os pacotes ALL para ALL Virtual Machines. Essa CPU designada interrompe a CPU atribuída à VM para o destino do pacote.

A resposta da Intel para isso é SR-IOV . Se você tem interfaces de rede muito rápidas e está recebendo um grande número de pacotes, isso pode explicar por que você está tendo esse efeito.

Além disso, você pode procurar ajustar a sua configuração de interrupção de rede no Linux.

Boa sorte. Eu gostaria de saber se isso é útil:)

    
por 04.04.2014 / 17:04