Monitorando o uso da CPU do Virtualbox com o topo

1

Estou usando o comando top no Linux para ficar de olho no Virtualbox que está executando uma VM.

A CPU atual no servidor é um processador Quad Core Xeon de 3,3 Ghz e eu atribuí apenas um núcleo à VM.

A minha pergunta é, se top está relatando que o processo do Virtualbox está consumindo 30% da CPU, isso é para o único núcleo que atribuí a VM ou para todos os 4 núcleos?

Se o VB estiver consumindo 30% de todo o processador, acho que posso precisar atribuir mais núcleos ao VB. Os clientes estão relatando que suas máquinas clientes congelam constantemente ao acessar o banco de dados.

    
por Scandalist 06.07.2013 / 22:22

2 respostas

0

Por padrão, top informa a porcentagem de uso como uma porcentagem de uma CPU única . Isso não tem nada a ver com suas configurações do VirtualBox, é como top funciona e é o mesmo para todos os programas. É por isso que você vê com frequência > 100% do uso da CPU em top . Dê uma olhada na minha resposta aqui para obter mais detalhes.

Você pode ter top da CPU% da exibição como uma porcentagem da potência total da CPU (todos os núcleos) atingindo I (isso é maiúscula I) enquanto top está em execução.

EDIT para responder seus comentários:

  1. Então, se todos os 4 núcleos excedessem, eu veria o foguete de uso da CPU em 400%?

    Sim, exatamente.

  2. E se eu estiver vendo um total de 30% de uso entre todos os processos, isso significa apenas 30% de um único núcleo?

    Novamente, sim, exatamente. Bem, quase exatamente. Não é 30% de um único núcleo porque diferentes processos podem estar sendo executados em diferentes núcleos. Se você vir um total de 30% de uso, isso significa que o poder de processamento total usado é o equivalente a 30% de um único núcleo. Isso pode significar que você tem um núcleo em 10%, dois em 5% e um em 20%.

  3. E eu também acho que isso não reflete o uso da CPU da VM rodando sob o VB?

    Não tenho certeza do que você quer dizer aqui. O% de uso do VirtualBox em top é o quanto de um núcleo único está usando o VBox naquele momento. Isso não tem nada a ver com quanto da CPU virtual da máquina virtual está sendo usada. Para ver isso, você precisará usar o software em execução no sistema operacional convidado.

por 06.07.2013 / 22:29
1

Se você tiver acesso ao sistema host, as métricas do VBoxManage serão fáceis de usar:

vboxmanage metrics setup --period 1 --samples 1 "*" "*CPU/*"

para configurar quais métricas serão capturadas e para qual sistema / VM.

Então:

vboxmanage metrics collect "*" "*CPU/*:avg"

mostrará os agregados do uso do processador no host e por cada VM em execução.

Observe que, para ver Guest/* stats, talvez seja necessário ter instalado as adições de convidado em cada VM.

    
por 11.05.2017 / 07:17