iostat - O que significa o campo 'roubar'?

2

Na saída de iostat existe um campo steal , de acordo com a página man, o campo é usado para:

Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another virtual processor.

Mas o que isso significa? Isso significa que o próprio kernel está muito ocupado para gerenciar uma cpu e fazer com que a cpu fique ociosa?

    
por Eric Wang 22.02.2016 / 08:31

1 resposta

7

O hipervisor significa a camada que gerencia um ambiente virtual, como VMware, XEN ou VirtualBox.

Assim, o campo de roubo deve ser um campo interessante para monitorar, para detectar problemas ou excesso de assinatura de um ambiente virtualizado. O campo em si significa o tempo que a CPU da VM tem que esperar para outras VMs (máquinas virtuais) concluírem seu turno (fatia) ou para uma tarefa do próprio hipervisor.

O campo st está presente nos comandos iostat , vmstat , sar e top .

No entanto, este thread confirma o campo de roubar não é suportado em VMware VMware (testei-o no VMware 5.5 e confirmo isso). O VirtualBox também não fornece dados de tempo de roubo da CPU. É suportado pelos ambientes virtuais Xen e KVM.

vmstat também possui o mesmo campo na área da CPU, mas somente após o Debian 8. Para que sar trabalhe, sysstat a coleta de dados precisa estar ativada.

Como por man vmstat :

st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.

Tópico relacionado Ferramentas para monitorar o tempo de permanência (st)

Outras leituras: Tempo de CPU roubado de uma máquina virtual?

It’s the time the hypervisor scheduled something else to run instead of something within your VM. This might be time for another VM, or for the Hypervisor host itself. If no time were stolen, this time would be used to run your CPU workload or your idle thread.

    
por 22.02.2016 / 08:58