Como descubro qual VM é responsável pela maioria das E / Ss que vejo com o Hyper-V?
A situação: eu tenho hosts Hyper-V com um número de VMs (cerca de 30 por host), onde ocasionalmente vejo períodos prolongados de alta utilização de disco. Gostaria de saber qual VM está causando isso.
Tentei usar o Process Explorer, mas ele relatou que todas as E / S relacionadas ao Hyper-V eram tratadas pelo processo "Sistema", portanto não há ajuda:
Já ajudaria a ter uma discriminação por arquivos acessados. A instalação completa da GUI do Windows Server possui o Monitor de Recursos, que fornece essas informações. No entanto, o Resmon parece não estar disponível nas instalações Core e Hyper-V.
Respostas:
Abra o Monitor de desempenho (execute como administrador) na estação de trabalho local. Adicione contador, selecione contadores da máquina hyper-v, Controlador IDE Virtual Hyper-V ou Dispositivo de Armazenamento Virtual Hyper-V, selecione contadores e instâncias (VMs) conforme parecer apropriado. Talvez você precise pescar um pouco para encontrar o contador que faz mais sentido para você.
Há algumas dicas boas sobre quais contadores procurar no Monitoramento do desempenho do Hyper-V
fonte
Syneticon-dj, escrevi algo para você esta tarde. Como esse problema era interessante, esse script simples fornecerá as estatísticas de E / S de leitura e gravação em cada VM em execução no host Hyper-V. Como um bônus adicional, associa cada VM ao seu ID de processo do vmwp.exe.
Você pode executar isso no servidor Hyper-V, porque não precisa de uma GUI.
A desvantagem é que, enquanto eu estava trabalhando nisso, notei que os contadores de desempenho estavam funcionando muito bem por um tempo e, então, por nenhuma razão discernível, eles decidiram ficar no zero. Bem, talvez não seja um bug, como Chris S diz ... mas esses contadores podem, infelizmente, não ser muito úteis, afinal. Independentemente disso, seria muito fácil modificar o script para usar o Virt. Contadores de dispositivos de armazenamento.
A saída é assim:
fonte
Ambas as outras respostas são úteis. Mas acho que consigo o que você está procurando com muito mais facilidade (quando os VHDs são armazenados em discos compartilhados localmente ou localmente, em vez de em um servidor de arquivos), abrindo o "Monitor de Recursos" e olhando para a guia Disco. Veja "Atividade do disco" e classifique por "Total (B / s)". Você verá os VHDs listados em ordem de atividade.
Obviamente, minha estratégia é uma aproximação livre para máquinas nas quais você está conectado localmente, o que a torna menos útil em um ambiente grande e sem cabeça.
fonte
Eu escrevi uma ferramenta da GUI do PowerShell, reunindo dados de desempenho do convidado para todas as VMs encontradas em hosts Hyper-V selecionados. A coleta e a correspondência de dados são feitas com informações do contador e do Hyper-V WMI. Execute a partir de qualquer servidor membro, sem a necessidade de módulos. Espero que isso ajude na solução rápida de problemas de desempenho em hosts Hyper-V e VMs.
Mostrar estatísticas de desempenho do convidado da máquina virtual Hyper-V (PowerShell) https://gallery.technet.microsoft.com/Show-Hyper-V-Virtual-652fdd54
fonte
Você pode tentar uma ferramenta de terceiros que pode ajudar na detecção de máquina virtual que está causando alta E / S e também tem a capacidade de alertar sobre essas E / Ss altas. Você pode conferir aqui - ApexSQL VM Monitor .
Essa ferramenta pode monitorar grandes espectros de contadores de disco para host e máquina virtual e, além dos contadores predefinidos, pode ser configurada para monitorar e mostrar a apresentação gráfica dos contadores no Monitor de desempenho.
Espero ter ajudado.
fonte