Activación de páginas de gran tamaño para una instancia de RDS para Oracle
Amazon RDS for Oracle es compatible con las páginas enormes del kernel de Linux para aumentar la escalabilidad de la base de datos. El uso de HugePages deriva en tablas de páginas más pequeñas y menos tiempo dedicado por la CPU a la administración de memoria, lo que aumenta el rendimiento de instancias de base de datos grandes. Para obtener más información, consulte Overview of HugePages
Puede utilizar HugePages con todas las versiones y ediciones compatibles de RDS para Oracle.
El parámetro use_large_pages
controla si las páginas de gran tamaño están activadas para una instancia de base de datos. Los valores posibles para este parámetro son ONLY
, FALSE
y {DBInstanceClassHugePagesDefault}
. El parámetro use_large_pages
se define en {DBInstanceClassHugePagesDefault}
en el grupo de parámetros de base de datos predeterminado para Oracle.
Para comprobar si se han activado las páginas de gran tamaño para una instancia de base de datos de forma automática, puede utilizar la variable de la fórmula DBInstanceClassHugePagesDefault
en los grupos de parámetros. El valor se determina de la siguiente manera:
-
Para las clases de instancia de base de datos mencionadas en la tabla siguiente,
DBInstanceClassHugePagesDefault
siempre toma el valorFALSE
de forma predeterminada yuse_large_pages
toma el valorFALSE
. Puede activar páginas de gran tamaño manualmente para estas clases de instancia de base de datos si la clase de instancia de base de datos dispone de al menos 14 GiB de memoria. -
Para las clases de instancia de base de datos no mencionadas en la tabla siguiente, si la clase de instancia de base de datos tiene menos de 14 GiB de memoria,
DBInstanceClassHugePagesDefault
siempre toma el valorFALSE
. Además,use_large_pages
toma el valorFALSE
. -
Para las clases de instancia de base de datos no mencionadas en la tabla siguiente, si la clase de instancia tiene al menos 14 GiB de memoria y menos de 100 GiB de memoria,
DBInstanceClassHugePagesDefault
toma el valorTRUE
de forma predeterminada. Además,use_large_pages
toma el valorONLY
. Puede desactivar las páginas de gran tamaño manualmente estableciendouse_large_pages
enFALSE
. -
Para las clases de instancia de base de datos no mencionadas en la tabla siguiente, si la clase de instancia tiene al menos 100 GiB de memoria,
DBInstanceClassHugePagesDefault
siempre toma el valorTRUE
. Además,use_large_pages
toma el valorONLY
y las páginas de gran tamaño no se pueden desactivar.
Las páginas de gran tamaño no están activadas de forma predeterminada para las siguientes clases de instancia de base de datos.
Familia de clase de instancia de base de datos | Las clases de instancia de base de datos con páginas de gran tamaño no están activadas de forma predeterminada |
---|---|
db.m5 |
db.m5.large |
db.m4 |
db.m4.large, db.m4.xlarge, db.m4.2xlarge, db.m4.4xlarge, db.m4.10xlarge |
db.t3 |
db.t3.micro, db.t3.small, db.t3.medium, db.t3.large |
Para obtener más información acerca de las clases de instancias de bases de datos, consulte Especificaciones de hardware para clases de instancia de base de datos .
Para activar manualmente las páginas de gran tamaño para las instancias de bases de datos nuevas o existentes, establezca el parámetro use_large_pages
en ONLY
. No es posible utilizar las páginas enormes con Oracle Automatic Memory Management (AMM). Si establece el parámetro use_large_pages
en ONLY
, también debe establecer memory_target
y memory_max_target
en 0
. Para obtener más información acerca de cómo configurar parámetros de base de datos para la instancia de base de datos, consulte Grupos de parámetros para Amazon RDS.
También puede configurar los parámetros sga_target
, sga_max_size
y pga_aggregate_target
. Cuando establezca los parámetros de memoria de área global del sistema (SGA) y de área global del programa (PGA), sume ambos valores. Reste este total de la memoria disponible en la instancia (DBInstanceClassMemory
) para determinar la memoria que queda libre después de la asignación de las páginas enormes. Debe dejar libres como mínimo 2 GiB, o el 10 por ciento de la memoria total disponible de la instancia, lo que sea menor.
Después de configurar los parámetros, debe reiniciar la instancia de base de datos para que los cambios surtan efecto. Para obtener más información, consulte Reinicio de una instancia de base de datos.
nota
La instancia de base de datos de Oracle aplaza los cambios en los parámetros de inicialización relacionados con SGA hasta que se reinicie la instancia sin conmutación por error. En la consola de Amazon RDS, elija Reiniciar pero no elija Reiniciar con conmutación por error. En la AWS CLI, llame al comando reboot-db-instance
con el parámetro --no-force-failover
. La instancia de base de datos no procesa los parámetros relacionados con SGA durante la conmutación por error o durante otras operaciones de mantenimiento que hacen que la instancia se reinicie.
A continuación se muestra una configuración de parámetros de ejemplo de páginas de gran tamaño que habilita las páginas de gran tamaño manualmente. Debe establecer los valores de acuerdo con sus necesidades.
memory_target = 0
memory_max_target = 0
pga_aggregate_target = {DBInstanceClassMemory*1/8}
sga_target = {DBInstanceClassMemory*3/4}
sga_max_size = {DBInstanceClassMemory*3/4}
use_large_pages = ONLY
Suponga que se definen los siguientes valores de parámetro en un grupo de parámetros.
memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0)
sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
use_large_pages = {DBInstanceClassHugePagesDefault}
El grupo de parámetros es utilizado por una clase de instancia db.r4 DB que tiene menos de 100 GiB de memoria. Con esta configuración de parámetros y use_large_pages
establecido en {DBInstanceClassHugePagesDefault}
, las páginas de gran tamaño están activadas en la instancia db.r4.
Vea otro ejemplo con los siguientes valores de parámetros definidos en un grupo de parámetros.
memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0)
sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
use_large_pages = FALSE
Una clase de instancia de base de datos db.r4 y db.r5 usa el grupo de parámetros, ambas con menos de 100 GiB de memoria. Con esta configuración de parámetros, las páginas de gran tamaño están desactivadas en las instancias db.r4 y db.r5.
nota
Si una clase de instancia de base de datos db.r4 o db.r5 DB con al menos 100 GiB de memoria utiliza este grupo de parámetros, se anula el valor FALSE
de use_large_pages
y se cambia por ONLY
. En este caso, se envía una notificación de cliente sobre la anulación.
Después de activar las páginas de gran tamaño en la instancia de base de datos, puede ver la información sobre las páginas de gran tamaño activando el monitoreo mejorado. Para obtener más información, consulte Supervisión de las métricas del sistema operativo con Supervisión mejorada.