Estou usando o qemu com o kvm como meu hipervisor. Eu estou executando um convidado do gentoo em um host ubuntu. O convidado está recebendo um único processador.
Quando executo um trabalho de computação intensiva (digamos, loop vazio), recebo quase 100% de uso da CPU no guest, bem como no host. No entanto, quando reproduzo um vídeo de alta resolução (1080p), vejo que o convidado está exibindo até 100% de uso da CPU, enquanto o host está exibindo apenas cerca de 30 a 40% do uso médio da CPU. Eu me pergunto o que poderia estar causando isso.
Se o processo estava com limite de disco, acredito que uma segunda execução do vídeo teria melhorado a taxa de uso da CPU host-para-convidado, já que o vídeo teria sido buscado na memória principal (o vídeo é de aproximadamente 1 minuto , 40 MB e o RAM convidado é de 4 shows), mas isso não acontece. Então, o que poderia causar essa diferença no uso da CPU?
Eu não entendo completamente como o vlc lida com vídeos H264. Ele informa que está perdendo quadros possivelmente devido ao computador lento. Meu único palpite é que talvez esteja envolvida uma placa gráfica que o qemu espere e o convidado não esteja ciente dessa espera.
Minha máquina host tem 12 núcleos com 24 GB de RAM.
EDITAR:
O problema não tem nada a ver com a execução de uma máquina virtual. Foi porque eu estava acessando minha máquina de teste através do SSH. O encaminhamento do X11 estava causando uma desaceleração importante no desempenho do meu processo do 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.