¿Cómo puedo saber qué VM es responsable de la mayoría de las E / S que veo con Hyper-V?
La situación: tengo hosts Hyper-V con varias máquinas virtuales (alrededor de 30 por host) donde ocasionalmente veo períodos prolongados de alta utilización del disco. Me gustaría saber qué VM está causando esto.
Intenté usar Process Explorer, pero informó que todas las E / S relacionadas con Hyper-V serían manejadas por el proceso "Sistema", por lo que no hay ayuda:
Ya ayudaría tener un desglose por archivos accedidos. La instalación completa de la GUI de Windows Server tiene el Monitor de recursos que proporciona esta información. Sin embargo, Resmon parece no estar disponible en las instalaciones Core e Hyper-V.
performance-monitoring
hyper-v-server-2012
el wabbit
fuente
fuente
Respuestas:
Abra el Monitor de rendimiento (ejecutar como administrador) en su estación de trabajo local. Agregue el contador, seleccione los contadores de la máquina hyper-v, el Controlador virtual IDE de Hyper-V o el Dispositivo de almacenamiento virtual Hyper-V, seleccione los contadores e instancias (VM) según corresponda. Puede que tenga que pescar un poco para encontrar el mostrador que tenga más sentido para usted.
Hay algunos buenos consejos sobre qué contadores buscar en Supervisión del rendimiento de Hyper-V
fuente
Syneticon-dj, escribí algo para ti esta tarde. Pensé que este problema era interesante, por lo que este simple script le dará las estadísticas de lectura y escritura de E / S en cada VM en ejecución en el host Hyper-V. Como beneficio adicional, asocia cada VM a la ID de proceso de vmwp.exe.
Puede ejecutar esto en su servidor Hyper-V, porque no necesita una GUI.
La desventaja es que mientras estaba trabajando en esto, noté que los contadores de rendimiento funcionaban muy bien por un tiempo, y luego, sin razón aparente, decidieron permanecer en cero. Bueno, tal vez no sea un error, como dice Chris S ... pero estos contadores podrían no ser muy útiles después de todo. De todos modos, sería muy fácil modificar el script para usar Virt. Dispositivo de almacenamiento de contadores en su lugar.
El resultado se ve así:
fuente
Las otras dos respuestas son útiles. Pero descubro que obtengo lo que está buscando con mucha más facilidad (cuando los VHD se almacenan en discos locales o compartidos localmente en lugar de un servidor de archivos) abriendo el "Monitor de recursos" y mirando la pestaña Disco. Mire "Actividad de disco" y ordene por "Total (B / seg)". Verá los VHD enumerados en orden de actividad.
Obviamente, mi estrategia es una aproximación flexible para las máquinas en las que está conectado localmente, lo que lo hace menos útil en un entorno grande y sin cabeza.
fuente
Escribí una herramienta PowerShell GUI que recopila datos de rendimiento de Guest para todas las máquinas virtuales encontradas en hosts Hyper-V seleccionados. La recopilación y coincidencia de datos se realiza con información de get-counter y Hyper-V WMI. Ejecutar desde cualquier servidor miembro, no se requieren módulos. Espero que esto ayude a solucionar rápidamente los problemas de rendimiento en hosts Hyper-V y máquinas virtuales.
Mostrar estadísticas de rendimiento de invitados de máquina virtual Hyper-V (PowerShell) https://gallery.technet.microsoft.com/Show-Hyper-V-Virtual-652fdd54
fuente
Es posible que desee probar una herramienta de terceros que pueda ayudarlo a detectar la máquina virtual que está causando E / S altas, y también tiene la capacidad de alertar sobre E / S tan altas. Puede consultarlo aquí: ApexSQL VM Monitor .
Esta herramienta puede monitorear grandes espectros de contadores de disco para host y máquina virtual, y además de los contadores predefinidos, se puede configurar para monitorear y mostrar la presentación gráfica de los contadores desde el monitor de rendimiento.
Espero haber ayudado.
fuente