¿Puede un servidor ESX bajo carga pesada provocar picos de CPU en las máquinas virtuales invitadas?

¿Puede un servidor ESX bajo carga pesada provocar picos de CPU en las máquinas virtuales invitadas?

Entonces tenemos varias máquinas virtuales ejecutándose en un servidor ESX 4.1 para probar el producto. El servidor ESX a veces se encuentra bajo una carga pesada. Hemos experimentado niveles elevados de CPU durante algunos casos de uso, pero no siempre podemos duplicar esto. Si el servidor ESX en su conjunto está bajo una gran carga, ¿podría esto causar que las máquinas invitadas muestren un uso elevado de la CPU?

Para plantearlo de otra manera, si las máquinas invitadas requieren más recursos de CPU que los que tiene el servidor, ¿cómo afecta esto el uso de la CPU según lo indicado por el sistema operativo y el proceso?

Respuesta1

Una de las fuentes canónicas de consejos de rendimiento de ESX es elGuía de solución de problemas de rendimiento! (PDF)

En resumen: si su host está ocupado y sus máquinas virtuales informan un alto "tiempo de preparación" (que es un contador de cuándo la máquina virtual está lista para realizar el trabajo, pero no se puede encontrar ninguna CPU física para que la máquina sea programada por el hipervisor), entonces los síntomas que está experimentando no son que el uso de la CPU del huésped sea alto, sino que las máquinas virtuales individuales no están obteniendo suficiente tiempo físico de la CPU para atender su carga de trabajo. Esto puede manifestarse en el huésped como un uso elevado de la CPU, pero esto es solo un error de contabilidad que el huésped está cometiendo porque no es consciente de la virtualización en sí.

Por lo tanto, verifique el tiempo de preparación y, si realmente es alto, encuentre una manera de agregar más CPU física a su máquina/clúster o reducir el uso.

La supervisión de la CPU interna tiene el potencial de distorsionarse cuando la máquina está inactiva y también cuando está ocupada. En un escenario, el hipervisor no programa el proceso inactivo. En el otro, el uso elevado por parte de muchas máquinas dará como resultado que algunas máquinas se queden sin CPU y, por lo tanto, la supervisión a nivel de invitado no debe utilizarse sin una supervisión adicional a nivel de hipervisor.

Respuesta2

El monitoreo de la CPU en el huésped es una mala idea, es casi imposible que cualquier invitado sepa realmente cuánto tiempo de CPU está tomando, en cualquier hipervisor; la única forma real de saberlo es mirar hacia afuera a través del hipervisor. Entonces, sí, un hipervisor muy ocupado podría fácilmente hacer que una estadística de uso de CPU de un huésped esté muy fuera de lugar, sí, pero no confíe en esas cifras de todos modos.

información relacionada