Si está ejecutando una base de datos Oracle en su entorno y tiene algunos problemas de rendimiento debido a la memoria, es posible que deba consultar el espacio de intercambio configurado en su sistema.
Para la base de datos Oracle 11g, la siguiente es la recomendación de Oracle en cuanto a la cantidad de espacio que debe agregar.
- Si el tamaño de su RAM es inferior o igual a 2 GB, su tamaño de intercambio debe ser 1,5 veces la RAM. Por ejemplo, si el tamaño de su RAM es de 2 GB, debe crear un espacio de intercambio de 3 GB
- Si el tamaño de su RAM está entre 2 GB y 16 GB, el tamaño de intercambio debe ser del mismo tamaño que la RAM. Por ejemplo, si el tamaño de su RAM es de 4 GB, debe crear un espacio de intercambio de 4 GB
- Si el tamaño de su RAM es superior a 16 GB, su tamaño de intercambio debe ser de 16 GB. Por ejemplo, si el tamaño de su RAM es de 32 GB, es suficiente si crea un espacio de intercambio de 16 GB
También hay muchos otros parámetros que entran en juego cuando configura su base de datos para el rendimiento. Si su base de datos necesita un tamaño SGA grande por razones de rendimiento, puede considerar usar HugePages. De forma predeterminada, el tamaño de la página SGA se divide en 4k. Cuando usa HugePages, el tamaño de la página SGA se divide en un mínimo de 2 MB. Debe tener esto en cuenta cuando esté configurando su base de datos.
Puede ver el tamaño de página enorme actual como se muestra a continuación.
$ grep Huge /proc/meminfo HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Hugepagesize: 4096 kB
Este artículo de Oracle le brindará una introducción a las páginas gigantes, que tal vez desee considerar cuando utilice una gran cantidad de memoria.
En Linux, ejecute el comando libre para identificar el tamaño de RAM actual y el tamaño de SWAP. Por defecto, el comando gratuito muestra la salida en kb. Dado que le dimos la opción -m, muestra la salida en MB. Como se muestra a continuación, este sistema tiene 3 GB de RAM y 2 GB de intercambio.
$ free -m total used free shared buffers cached Mem: 3034 2907 126 0 107 1103 -/+ buffers/cache: 1696 1338 Swap: 2047 85 1962
También puede obtener el tamaño total de RAM y el tamaño de intercambio de su sistema desde el archivo /proc/meminfo como se muestra a continuación. Esto muestra la salida en kilobytes.
$ egrep 'MemTotal|SwapTotal' /proc/meminfo MemTotal: 3107636 kB SwapTotal: 2096472 kB
Puede agregar espacio de intercambio a su sistema usando cualquiera de los dos métodos que se explican en este artículo Cómo agregar espacio de intercambio.
El siguiente ejemplo agregará 1 GB de archivo de intercambio a su sistema Linux.
dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 chmod 600 /root/myswapfile mkswap /root/myswapfile swapon /root/myswapfile