Télefono:
91 626 61 20
Dirección:
C/ Copenhague 6. Edificio Al Andalus. Planta 2ª. Oficina 5. 28232. Las Rozas. Madrid
Con el crecimiento de las cantidades de memoria a gestionar por parte del sistema operativo para los diferentes procesos se ha quedado poco a poco desfasada la gestión con tamaños de página de 2 KB o 4 KB. Para ello han aparecido las páginas grandes, que permiten que si un programa está programado para utilizarlas se haga uso de ellas y se consigan mejoras de rendimiento. Este es el caso de Informix, que cuando utiliza páginas grandes para sistemas con varios gigas de memoria consigue mejorar su rendimiento.
A continuación vamos a ver un ejemplo de cómo podría ser un escenario en un servidor Linux con un gestor Informix con 20 GB de memoria asignados. El caso sería similar en Solaris. En AIX sería ligeramente diferente ya que por defecto no viene activado el uso de páginas grandes.
Si tenemos definida la parte virtual, la residente o ambas de la memoria de informix como residente por medio del parámetro del onconfig RESIDENT nos podemos encontrar con el siguiente aviso en el online.log:
Insufficient free huge pages in /proc/meminfo for shared memory segment.
Requested: 20480000000 bytes. Available: 0 bytes.
The default memory page size will be used.
Segment locked: addr=0xae97b000, size=20480000000
Este aviso nos está indicando que no puede reservar páginas grandes en memoria porque no hay ninguna disponible. Para comprobar la configuración que tenemos es necesario ejecutar:
# cat /proc/meminfo
…
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
…
Si nos aparece una salida similar es que no tenemos el sistema configurado para permitir el uso de páginas grandes. Configurar el uso de páginas grandes cuando se define la memoria como residente puede tener una mejora importante de rendimiento.
Lo primero que necesitamos saber es cuántas páginas necesita Informix para funcionar. Para ello vemos que ha intentado reservar 20.480.000.000 bytes y que el tamaño de página grande del sistema es de 2.048.000 bytes. Por tanto, dividimos lo que necesita Informix entre el tamaño de página del sistema y obtenemos el número de páginas que necesitamos, que son 10.000.
A continuación hay que configurar el sistema operativo para que permita reservar esas 10.000 páginas y ya tendríamos listo nuestro sistema para hacer uso de esta mejora.