Uso de CPU de convidado virtualizado versus host

Uso de CPU de convidado virtualizado versus host

Estou usando o qemu com o kvm como meu hipervisor. Estou executando um convidado gentoo em um host Ubuntu. O convidado recebe um único processador.

Quando executo um trabalho de computação intensiva (digamos, loop vazio), obtenho quase 100% de uso da CPU tanto no convidado quanto no host. No entanto, quando reproduzo um vídeo de alta resolução (1080p), vejo que o convidado mostra até 100% de uso da CPU, enquanto o host mostra apenas cerca de 30-40% do uso médio da CPU. Eu me pergunto o que poderia estar causando isso.

Se o processo estivesse vinculado ao disco, acredito que uma segunda execução do vídeo teria melhorado a taxa de uso da CPU host-convidado, pois o vídeo teria sido buscado na memória principal (o vídeo tem aproximadamente 1 minuto, 40 MB e a memória RAM convidada é de 4 gigas), mas isso não acontece. Então o que poderia causar essa diferença no uso da CPU?

Não entendo completamente como o vlc lida com vídeos H264. Ele relata que está perdendo quadros, possivelmente devido à lentidão do computador. Meu único palpite é que talvez esteja envolvida uma placa gráfica que o qemu espera e o convidado não está ciente dessa espera.

Minha máquina host possui 12 núcleos com 24 GB de RAM.

EDITAR:

O problema não tinha nada a ver com o funcionamento de uma máquina virtual. Foi porque eu estava acessando minha máquina de teste por meio de SSH. O encaminhamento do X11 estava causando uma grande lentidão no desempenho do meu processo qemu. Talvez seja semelhante a como um programa normal fica lento se tivermos muitas instruções printf. A rede estava se tornando um gargalo no meu caso.

informação relacionada