Medição de% de roubo de CPU em hypervisores VMware e Hyper-V

6

Para os convidados do Xen Linux, o %steal time está prontamente disponível via top e outros utilitários.

É possível obter isso e métricas relacionadas a partir de um convidado do Linux ao executar um hipervisor que não seja o Xen, como o ESXi ou o Hyper-V?

Para convidados do Windows, o VMware e a Microsoft fornecem contadores de desempenho. Exemplo:

Mas estes não parecem ser expostos via baunilha top em Centos 6.4.

    
por Yolo Perdiem 01.10.2013 / 15:25

2 respostas

6

A única maneira de obter esses (e mais) contadores de desempenho dentro de um guest do VMware é usando o SDK do VMGuestLib conforme fornecido com o vmware-tools.

Eu escrevi um wrapper python para esta biblioteca, chamado python-vmguestlib e uma ferramenta vmguest-stats para obter acesso a esses contadores. E agora há três plug-ins Dstat para correlacionar esses contadores de desempenho com outros recursos do sistema. É tão simples como:

dstat -c –vm-cpu -m –vm-mem –vm-mem-adv

Você pode encontrar o wrapper do python, a ferramenta de estatísticas do vmguest e o Dstat em:

Feedback e melhorias bem-vindos!

    
por 10.12.2013 / 12:25
0

o cluster do vSphere no trabalho está sobrecarregado, mas a ferramenta usual de medição do Zabbix não estava indicando o tempo de roubo da CPU. Tantos agradecimentos ao Dag, eu peguei o seu programa de teste e escrevi um script só para imprimir o percentual de roubo da seguinte forma

#!/usr/bin/python

import sys, os, time
sys.path.append(os.path.join('/root/dagwieers/vmguestlib/'))

from vmguestlib import VMGuestLib

gl = VMGuestLib()

gl.UpdateInfo()
stolen_ms_1 = gl.GetCpuStolenMs()

time.sleep(1)

gl.UpdateInfo()
stolen_ms_2 = gl.GetCpuStolenMs()

# print percentage of stolen time
print '%d' % ((stolen_ms_2 - stolen_ms_1) / 10)

gl.CloseHandle()

confirmou o que eu pensava, muitas vezes perdi 75% do tempo da CPU!

    
por 11.07.2016 / 18:40