¿Qué es ‘%RDY’ en esxtop? ¿Por qué debería preocuparme?
Si alguna vez has ejecutado el comando ‘esxtop’ en un hypervisor de VMware habrás visto que la pantalla de maquinas virtuales tiene muchas columnas y una de ellas es ‘%RDY’. ¿Qué identifica realmente esa columna? En las siguientes líneas lo intentaremos explicar de forma sencilla y daremos unas recomendaciones en caso de tener un valor por encima de lo normal.
Lo primero es lo primero… ¿Qué es ‘%RDY’?
El valor de %RDY es el porcentaje de tiempo que un ‘world’ (Ver ¿Qué son ‘worlds’ en esxtop?) está listo para ser ejecutado pero está a la espera en una cola para ser programado. Un valor continuado en tiempo igual o superior a 10% puede indicar un problema.
Vale, es muy posible que te hayas quedado igual pero no pasa nada, porque con un ejemplo se ve fácilmente.
Ejemplo sencillo sobre ‘%RDY’. Limitando la cpu de la maquina virtual.
Vamos a realizar un ejemplo muy sencillo sobre nuestro laboratorio de ESXi. Hemos creado una maquina virtual con un solo core y limitándolo a ‘1500 mhz’
Hemos insertado la ISO del instalador de Windows 10 y tras arrancar nos hemos ido a ‘esxtop’.
Como podemos ver en la imagen, en la vCPU-0 tenemos un valor de 63.10 de %RDY aunque en este caso también vemos que tenemos alto el valor %MLMTD ya que hemos limitado la cpu. Para ver el valor real de %RDY, realizamos la siguiente operación:
- %RDY – %MLMTD
Con esta operación en nuestro caso nos da un valor de 4.39 %RDY real. Pero… ¿qué pasa si nuestras máquinas virtuales tienen un valor de %RDY alto pero no las tenemos limitadas?
Houston, quizás, tenemos un problema
Vale, si tenemos la maquina virtual limitada es normal tener un valor algo elevado de %RDY pero… ¿y si no la tenemos limitada?
Si tienes un valor alto de %RDY lo primero que debes que comprobar es que estes viendo la vista expandida de la maquina virtual (Próximamente: Usando esxtop). Esto es debido a que el porcentaje de %RDY es la suma de todos los ‘worlds’ de la máquina virtual si no se pone en vista expandida, es decir…
Imaginemos que tenemos dos maquinas virtuales, una con un core y otra con ocho cores, en la vista simplificada en el peor de los casos se vería de la siguiente forma:
- La maquina virtual con un solo core tendríamos un valor de 100 %RDY
- La maquina virtual con ocho cores tendríamos un valor de 800 %RDY
En cambio, si usamos la vista expandida podremos ver que recurso o vCPU tiene realmente ese valor de %RDY. Recuerda que no solo la vCPU puede tener %RDY si no que cualquier ‘world’ asociado a esa máquina virtual puede aumentar el valor de %RDY (como controladora de discos, gráficos etc).
En el caso de que confirmes que tu máquina virtual tenga un valor elevado de %RDY pueden ser por diversos motivos. Estas con unas recomendaciones básicas para evitar un valor elevado de %RDY:
- Evitar una alta sobresuscripción de las CPU físicas en relación con las CPU virtuales. Recuerda que tener una sobresuscripción superior a 5:1 puede ocasionar problemas.
- Evitar tener maquinas virtuales con un número de CPU virtuales muy superior a las CPU físicas por nodo NUMA.
- Siempre que sea posible activar DRS en el cluster para repartir la carga entre todos los nodos de forma equitativa.
Con estos simples consejos es muy posible que consigas mejorar tus máquinas virtuales.