Las páginas grandes de Oracle son una función de gestión de memoria que permite al sistema operativo gestionar páginas de memoria grandes, normalmente de 2 MB, en lugar de las páginas de memoria pequeñas predeterminadas, que suelen tener un tamaño de 4 KB.
Al utilizar páginas de memoria más grandes, Huge Pages puede reducir significativamente la sobrecarga asociada a la gestión de la memoria en sistemas con grandes demandas de memoria, como las bases de datos Oracle.
Las bases de datos Oracle son conocidas por su elevado consumo de memoria, debido a la necesidad de manejar grandes conjuntos de datos, indexación extensiva y almacenamiento en caché para un rendimiento óptimo.
En estos entornos, el tamaño de página de memoria por defecto puede convertirse en un cuello de botella debido al gran número de páginas que el sistema operativo tiene que gestionar. Aquí es donde entran en juego las Páginas Enormes.
Índice
1. Ventajas de utilizar páginas enormes
Gestión de memoria mejorada
Huge Pages mejora significativamente la gestión de la memoria mediante la asignación de bloques de memoria más grandes en comparación con las páginas estándar de 4 KB. En un entorno de base de datos Oracle, esto se traduce en una menor fragmentación de la memoria, un uso más eficiente de la misma y una asignación simplificada.
Reducción de la sobrecarga de la tabla de páginas
Con Huge Pages, el número de páginas que el sistema necesita gestionar se reduce drásticamente. Por ejemplo, el uso de Huge Pages de 2 MB en lugar de páginas estándar de 4 KB reduce el número de páginas en un factor de 512, lo que resulta en tablas de páginas más pequeñas, menos uso de memoria para mantener estas tablas y un mejor rendimiento del sistema.
Rendimiento mejorado
El uso de Páginas Enormes puede suponer importantes mejoras de rendimiento. Entre las ventajas se incluyen una menor latencia debida a la gestión de bloques de datos más grandes, un mayor rendimiento gracias a la reducción de la sobrecarga de gestión de memoria, un uso optimizado de la CPU y un rendimiento del sistema más estable y predecible.
2. Páginas de memoria
Páginas de memoria estándar frente a páginas enormes
Las páginas de memoria estándar suelen tener un tamaño de 4 KB y requieren una gestión exhaustiva por parte del sistema operativo. En cambio, las páginas enormes tienen un tamaño de 2 MB, lo que reduce el número de páginas y la sobrecarga de gestión asociada.
Cómo funcionan las páginas gigantes en Oracle
Las Páginas Enormes asignan memoria en bloques más grandes, que son utilizados directamente por los procesos de Oracle. Esto reduce la sobrecarga de la asignación de memoria y mejora los tiempos de acceso, lo que se traduce en un mejor rendimiento general de la base de datos Oracle.
3. Configuración de Páginas Enormes en Oracle
Guía paso a paso para configurar Huge Pages en Linux
- Comprobación de la configuración actual de Huge Pages:
- Utilice comandos como
grep Huge /proc/meminfo
para comprobar la configuración actual de Huge Pages.
- Utilice comandos como
- Cálculo de las enormes páginas necesarias:
- Calcule la memoria total necesaria para la base de datos Oracle y divídala por 2 MB para determinar el número de Huge Pages necesarias.
- Configuración de Huge Pages en Linux:
- Editar el archivo de configuración del sistema
/etc/sysctl.conf
para establecer el número de Páginas Enormes y parámetros relacionados. - Aplique los cambios utilizando comandos como
sysctl -p
.
- Editar el archivo de configuración del sistema
- Configuración de Oracle Database para utilizar páginas enormes:
- Modificar los parámetros de inicialización de Oracle (
init.ora
ospfile
) para habilitar el uso de Páginas Enormes, el parámetro USE_LARGE_PAGES. - Reinicie la base de datos Oracle para aplicar los cambios.
- Modificar los parámetros de inicialización de Oracle (
Pongamos un ejemplo.
Si tienes un servidor con 160G de RAM, entonces el hugepages recomendado sería la mitad de ese valor que es 80000 para mantener también algo de espacio para el sistema operativo.
A continuación, la mitad de ese valor (porque cada página ocupa 2 MB), es decir, 40000.
Tendrás que editar el archivo /etc/sysctl.conf como root
vm.nr_hugepages=40000
Una vez establecido el valor, se recomienda reiniciar el servidor, pero a veces basta con este comando
sysctl -p
Compruebe el valor de hugepages
grep Huge /proc/meminfo
Además, las bases de datos del servidor deben tener el parámetro USE_LARGE_PAGES=ONLY
He aquí algunos ejemplos más.
Para una SGA de 1 GB necesitarías 512 páginas enormes.
Para una AGE de 1,5 GB necesitarías 768 páginas enormes.
Para una AGE de 2 GB necesitarías 1024 páginas enormes.
Para una AGE de 5 GB necesitarías 2560 páginas enormes.
Para una AGE de 10 GB necesitarías 5120 páginas enormes.
Para una AGE de 15 GB necesitarías 7680 páginas enormes.
4. Preguntas frecuentes sobre páginas enormes
Preguntas y respuestas habituales
- ¿Qué son las páginas gigantes? Las páginas enormes son páginas de memoria de gran tamaño (2 MB cada una) que se utilizan para mejorar la gestión de la memoria y el rendimiento.
- ¿Por qué utilizar Huge Pages con Oracle? El uso de páginas enormes reduce la fragmentación de la memoria, la sobrecarga de la tabla de páginas y mejora el rendimiento de la base de datos.
- ¿Cómo calculo el número de Páginas Enormes que necesito? Calcule la memoria total necesaria para la base de datos y divídala por 2 MB para determinar el número de Páginas Enormes.
- ¿Qué pasa si mi sistema no admite Huge Pages? Asegúrese de que su sistema cumple los requisitos previos y consulte la documentación del sistema operativo y de Oracle para conocer los requisitos específicos.
5. Conclusión
Resumen de ventajas e importancia
Huge Pages ofrece ventajas sustanciales para las bases de datos Oracle, como una mejor gestión de la memoria, una reducción de la sobrecarga y un mayor rendimiento. Al configurar y utilizar Huge Pages, los administradores de bases de datos pueden lograr operaciones de bases de datos Oracle más eficientes y estables.
Recomendaciones finales
Para maximizar los beneficios, calcule cuidadosamente las Huge Pages necesarias, siga las mejores prácticas de configuración y supervise el rendimiento del sistema para realizar los ajustes necesarios.
6. Recursos adicionales
Otras lecturas y referencias
Si tienes un servidor con 160G de RAM, entonces el hugepages recomendado sería la mitad de ese valor que es 80000 para mantener también algo de espacio para el sistema operativo.
Son 40000, ¿no?
160G/2=80G
80G*1024/2M ==40000
Sí, es cierto.
Corregido mi error 🙂 .