VmSaN23
Contributor
Contributor

dudas memoria balloning

Jump to solution

buenas,

Tengo un par de dudas acerca del uso de memoria, balooning y reservas.

En principio reserva es esa memoria que siempre tendra disponible y limite la memoria sobre la que no sobrepasar.

La duda es, si tengo una maquina con 2GB, si a nivel de activa solo son 512MB aprox estables, y en monitor de procesos no sobrepasa el 1GB

es correcto aplicar, 512 reserva, 1 GB limite para evitar que si llega seria algo anormal, use solo ram que nadie necesite

que pasaria si usara mas de 1,5? usaria baloning/swapping o nunca llegaria a poder usar mas de 1,5?

Entiendo que cuando esx dice activo es lo que realmente se usa/tiene cambios, seria correcto usar el dato de activo para rebajar la ram de la maquina entera? es fiable? buscar ajustar la memoria ram del equipo basado en el perfmon?

Cual es la opcion mas aconsejable para rebajar la ram de los equipos para evitar asi sobredimensionarlos?

gracias por todo y saludos de antemano.

0 Kudos
1 Solution

Accepted Solutions
pcerda
Virtuoso
Virtuoso
Hola que tal,
Son varias las preguntas que haces, vamos por parte.
La reserva de memoria, es la memoria FISICA que estas reservando para dicha MV, en caso de escasez de recursos.
El limite, es el maximo de memoria que una MV puede utilizar.  En general este parametro no es recomendable utilizarlo, ya que te puede provocar cuellos de botella en tus MVs, cuando aun tienes recursos en el host ESX/ESXi
Si tienes una MV con 2GB de RAM, pero tu ves en los graficos de uso historicos (por ejemplo el ultimo mes) que el uso real (memoria activa en el host) es de solo 512MB, con peaks de utilización de 1GB, tu puedes optar por reducir la memoria asignada, pero siempre dejando  un porcentaje adicional, para evitar cuellos de botella innecesario.  Esto es recomendable para MVs que hayan sido muy sobredimiensionadas, por ejemplo 8GB de RAM cuando solo necesita 1GB.
En los casos restantes, lo más recomendable sería configurar solo una reserva por la cantidad de memoria que realmente utiliza la MV segun datos historicos, en el ejemplo anterior, una reserva apropiada seria de entre 512MB y 1GB.
Al configurar una reserva de 1GB en una MV de 2GB de RAM, implica que ante una escasez de recursos de memoria en el host, la MV obtendrá SIEMPRE 1GB desde la memoria fisica, y lo restante puede ser obtenido haciendo swapping o de memoria fisica no reservada (compitiendo con otras MVs por dichos recursos no reservados), pero durante la operacion normal (sin escasez de recursos), la MV puede igual utilizar 2GB de RAM desde la memoria fisica, si es que esta cantidad se encuentra disponible en el host.
Si a una MV de 2GB en RAM le aplicas un limite de 1GB, y luego la MV requiere usar por ejemplo 1.8GB, entonces 1GB lo obtendrá SIEMPRE desde la memoria fisica, y los restantes 800MB a traves de swapping, aun cuando el host tenga memoria fisica disponible.
Como dije antes, lo recomendado es no aplicar limites, a menos que tengas un caso de uso muy particular que lo requiera.  Se recomienda solo utilizar reservas, pero evitando reservas muy altas, utilizando en lo posible los datos de performance historicos de cada MV.
Te recomiendo además revisar el uso de los shares, que te pueden ser de utilidad, al momento en que los recursos escaseen, y las MV tengan que competir por ellos.
Te dejo estos links de mi blog que te pueden servir:
Regards / Saludos - Patricio Cerda - vExpert 2011 / 2012 / 2013

View solution in original post

0 Kudos
2 Replies
pcerda
Virtuoso
Virtuoso
Hola que tal,
Son varias las preguntas que haces, vamos por parte.
La reserva de memoria, es la memoria FISICA que estas reservando para dicha MV, en caso de escasez de recursos.
El limite, es el maximo de memoria que una MV puede utilizar.  En general este parametro no es recomendable utilizarlo, ya que te puede provocar cuellos de botella en tus MVs, cuando aun tienes recursos en el host ESX/ESXi
Si tienes una MV con 2GB de RAM, pero tu ves en los graficos de uso historicos (por ejemplo el ultimo mes) que el uso real (memoria activa en el host) es de solo 512MB, con peaks de utilización de 1GB, tu puedes optar por reducir la memoria asignada, pero siempre dejando  un porcentaje adicional, para evitar cuellos de botella innecesario.  Esto es recomendable para MVs que hayan sido muy sobredimiensionadas, por ejemplo 8GB de RAM cuando solo necesita 1GB.
En los casos restantes, lo más recomendable sería configurar solo una reserva por la cantidad de memoria que realmente utiliza la MV segun datos historicos, en el ejemplo anterior, una reserva apropiada seria de entre 512MB y 1GB.
Al configurar una reserva de 1GB en una MV de 2GB de RAM, implica que ante una escasez de recursos de memoria en el host, la MV obtendrá SIEMPRE 1GB desde la memoria fisica, y lo restante puede ser obtenido haciendo swapping o de memoria fisica no reservada (compitiendo con otras MVs por dichos recursos no reservados), pero durante la operacion normal (sin escasez de recursos), la MV puede igual utilizar 2GB de RAM desde la memoria fisica, si es que esta cantidad se encuentra disponible en el host.
Si a una MV de 2GB en RAM le aplicas un limite de 1GB, y luego la MV requiere usar por ejemplo 1.8GB, entonces 1GB lo obtendrá SIEMPRE desde la memoria fisica, y los restantes 800MB a traves de swapping, aun cuando el host tenga memoria fisica disponible.
Como dije antes, lo recomendado es no aplicar limites, a menos que tengas un caso de uso muy particular que lo requiera.  Se recomienda solo utilizar reservas, pero evitando reservas muy altas, utilizando en lo posible los datos de performance historicos de cada MV.
Te recomiendo además revisar el uso de los shares, que te pueden ser de utilidad, al momento en que los recursos escaseen, y las MV tengan que competir por ellos.
Te dejo estos links de mi blog que te pueden servir:
Regards / Saludos - Patricio Cerda - vExpert 2011 / 2012 / 2013

View solution in original post

0 Kudos
VmSaN23
Contributor
Contributor

muchas gracias por todo.

el primer enlace ya lo habia leido y el segundo ahora lo leo

me aparece una duda.

si una mv tiene 2GB asignados por mucho que requiriese 3GB esx no aumentaria para facilitar dicha memoria no?

un ejemplo real.

Tengo 2 nodos de SQL en failover. En un nodo tengo una instancia y en el otro otra distinta

La instancia A tiene reservada para ella 4GB y la B 2GB.

Partiendo del consumo del sistema sin nada son 1GB actualmente tengo las 2 maquinas dimensionadas en 8GB cada una porque en caso que un nodo asuma las 2 instancias no pagine+1GB extra por si acaso.

Seria correcto asignar 6GB a cada una, con una reserva de 4GB+ limite de 8GB cada una "partiendo que solo en casos excepcionales tendran las dos instancias en un host". para asi optimizar memoria o debo asignar 8 a cada uno.

Un saludo y gracias por todo.

0 Kudos