KVM reporta picos de uso de CPU estranhos (bash recursão infinita)

7

Em uma máquina KVM que executa o Fedora 20, executei ulimit -s unlimited (isso remove o limite do tamanho da pilha) e um script de teste experimental torturando . Tudo o que esse script faz é apenas recursão infinita:

#!/bin/bash

fn() {
    true
    fn
}

fn

O que eu esperava era que o uso da CPU chegasse a 100%, e depois de algum esgotamento de recursos (o que poderia levar muito tempo), o bash seria derrubado pelo kernel.

Mas o que realmente aconteceu é um pouco estranho e eu não tenho o conhecimento correto para explicar:

  • Dentro da VM, top reporta 100% do uso da CPU por esse script engraçado. que faz sentido.

  • Mas de fora, o virt-manager mostra 0% sem uso da CPU, espere por recorrente picos agudos de 100%. E como se isso não fosse estranho o suficiente, o atraso observado entre cada pico consecutivo está crescendo (eventualmente o atraso pára de crescer e se torna co-instável):

Por que isso? O que está realmente acontecendo dentro? Ou o uso relatado pelo virt-manager é enganoso? Então, o que cria o padrão visto entre os picos?

    
por Alois Mahdal 14.07.2014 / 18:25

1 resposta

1

Se você usar top dentro da máquina virtual você notou o uso da cpu em 100%, mas em seu host físico a máquina virtual não pode usar o tempo todo da cpu, isso é porque um kvm vm é um processo normal normal do kernel ponto de vista, então o agendador de processo do kernel compartilha o cpu com outro processo

    
por 10.08.2014 / 04:05