Hola
Recientemente tras una migración de servidores realizadas me he dado cuenta de que muchas de las máquinas virtuales estaban consumiendo toda la memoria asignada a ellas.
Era algo que me extrañaba puesto que internamente en el OS estaba viendo que utilizaba mucho menos de lo que estaba consumiendo en el host.
Ejemplo:Servidor W2k3, 4 CPU, 16GB RAM
A nivel de OS > consumía 6 GB
A nivel de host > consumía 16 GB
Tras buscar en la gestion de la RAM me he topado con un concepto que en la teoría tenia clara, pero que investigando más a fondo, parece ser que la practica y también en la teoria no las tenia todas conmigo. Es el tema del TPS y Large Memory Pages: por lo que he comprobado, por defecto se usan las Large Memory Pages en las VM, y que estas pueden llegar a utilizar mas memoria en el host de la que el guest esta utilizando (reserva de bloques de memoria de 2MB en vez de 4KB) y que sólamente cuando el host esta con problemas de RAM los mecanismos del esx son capaces de ajustar esos bloques.
Mi pregunta viene ahora, cual es la best practices recomendada?
Deshabilitar el large memory pages por defecto a nivel de host, y sólamente activarlo en aquellas VM y aplicaciones que realmente lo requieran?SQL, Exchange...
Dejarlo por defecto a nivel de host (activo) y y deshabilitarlo a nivel de máquinas virtuales: por template o únicamente en aquellas que identifiquemos
Me gustaría saber que es lo que la comunidad piensa basado en vuestra experiencia.
Saludos