En la pestaña Rendimiento de vSphere Client, se muestra una serie de métricas que sirven para analizar el uso de memoria.

Algunas de estas métricas de memoria miden la memoria física del invitado, mientras que otras métricas miden la memoria de la máquina. Por ejemplo, dos de los tipos de uso de memoria que se pueden examinar con las métricas de rendimiento son la memoria física del invitado y la memoria de la máquina. La memoria física del invitado se mide con la métrica de memoria concedida (para una máquina virtual) o de memoria compartida (para un host). Sin embargo, para medir la memoria de la máquina, se deben utilizar la métrica de memoria consumida (para una máquina virtual) o de memoria común compartida (para un host). Es importante comprender la diferencia conceptual entre estos tipos de uso de memoria para determinar qué miden estas métricas y cómo interpretar los resultados.

El VMkernel asigna la memoria física del invitado a la memoria de la máquina, pero esta asignación no siempre se realiza con una correspondencia uno a uno. Es posible que se asignen varias secciones de la memoria física del invitado a la misma sección de memoria de la máquina (en el caso de uso compartido de la memoria), o bien es posible que no se asignen secciones específicas de la memoria física del invitado a la memoria de la máquina (cuando el VMkernel intercambia la memoria física del invitado o la aumenta rápidamente). En estos casos, los cálculos del uso de la memoria física del invitado y de la memoria de la máquina en una máquina virtual individual o un host varían.

Vea el ejemplo en la siguiente imagen, en el que se muestran dos máquinas virtuales ejecutándose en un host. Cada bloque representa 4 KB de memoria y cada color o letra representa un conjunto diferente de datos en un bloque.

Figura 1. Ejemplo de uso de memoria

En esta imagen, se muestra un ejemplo de uso de memoria en dos máquinas virtuales.

Las métricas de rendimiento de las máquinas virtuales se pueden determinar de la siguiente manera:

  • Para determinar la memoria concedida (la cantidad de memoria física del invitado que se asigna a la memoria de la máquina) para la máquina virtual 1, cuente la cantidad de bloques de memoria física del invitado de la máquina virtual 1 que tienen flechas que apuntan a la memoria de la máquina y multiplíquela por 4 KB. Como hay 5 bloques con flechas, la memoria concedida es de 20 KB.
  • La memoria consumida es la cantidad de memoria de la máquina asignada a la máquina virtual, que representa el ahorro de la memoria compartida. Primero, cuente la cantidad de bloques en la memoria de la máquina que tienen flechas desde la memoria física del invitado de la máquina virtual 1. Hay 3 bloques de este tipo, pero uno de ellos se comparte con la máquina virtual 2. Por lo tanto, cuente dos bloques completos más la mitad del tercero y multiplíquelos por 4 KB para obtener el total de 10 KB de memoria consumida.
La diferencia principal entre estas dos métricas es que para la memoria concedida se cuentan los bloques con flechas en el nivel de la memoria física del invitado, mientras que para la memoria consumida se cuentan los bloques con flechas en el nivel de la memoria de la máquina. La cantidad de bloques es diferente en los dos niveles debido al uso compartido de la memoria. Por lo tanto, la memoria concedida es diferente a la memoria consumida. Se ahorra memoria mediante el uso compartido u otras técnicas de recuperación.
El resultado es similar cuando se calcula la memoria compartida y la memoria común compartida del host.
  • La memoria compartida del host es la suma de la memoria compartida de cada máquina virtual. Para calcular la memoria compartida, se debe observar la memoria física del invitado de cada máquina virtual y contar la cantidad de bloques con flechas que apuntan a los bloques de memoria de la máquina que, a su vez, tienen más de una flecha apuntándolos. En este ejemplo, hay 6 bloques de este tipo, por lo que la memoria compartida del host es de 24 KB.
  • La memoria común compartida es la cantidad de memoria de la máquina compartida entre las máquinas virtuales. Para calcularla, observe la memoria de la máquina y cuente la cantidad de bloques que tienen más de una flecha apuntándolos. Se observan 3 de estos bloques, por lo que la memoria común compartida es de 12 KB.
La memoria compartida está relacionada con la memoria física del invitado y tiene en cuenta el origen de las flechas. La memoria común compartida, en cambio, está asociada con la memoria de la máquina y tiene en cuenta el destino de las flechas.

Las métricas de memoria que miden la memoria física del invitado y la memoria de la máquina pueden parecer contradictorias. De hecho, miden aspectos diferentes del uso de la memoria de una máquina virtual. Al comprender la diferencia entre estas métricas, podrá usarlas mejor para diagnosticar problemas de rendimiento.