viernes, 6 de enero de 2012

Revisando el caché de AIX

El área de caché es un área de memoria donde el sistema operativo pone bloques de archivos frecuentemente usados, por lo tanto reduciendo operaciones de entrada/salida costosas hacia dispositivos más lentos como discos duros. Es un buen concepto y bastante útil para aumentar el desempeño de sistemas de archivos (NFS, samba), pero no es tan bueno para software de bases de datos como Oracle porque una instancia maneja su propia área de caché.

Por lo tanto, si tu eres un administrador de bases de datos Oracle en servidores AIX es una buena práctica estar al tanto de la configuración y el uso de memoria, y quizás ayudar un poco a tu compañero administrador de sistemas si se da el caso. Los parámetros importantes a revisar son el porcentaje mínimo y máximo de RAM para caché de archivos (minperm% and maxperm%):

root:myserver> vmstat -v
2621440 memory pages
2525761 lruable pages
180000 free pages
4 memory pools
647419 pinned pages
80.0 maxpin percentage
20.0 minperm percentage
80.0 maxperm percentage
24.8 numperm percentage
627654 file pages
0.0 compressed percentage
0 compressed pages
24.8 numclient percentage
25.0 maxclient percentage
627654 client pages
0 remote pageouts scheduled
58246 pending disk I/Os blocked with no pbuf
10544297 paging space I/Os blocked with no psbuf
2228 filesystem I/Os blocked with no fsbuf
805 client filesystem I/Os blocked with no fsbuf
2215609 external pager filesystem I/Os blocked with no fsbuf
0 Virtualized Partition Memory Page Faults
0.00 Time resolving virtualized partition memory page faults

Como puedes ver en este ejemplo, hay mucha memoria mínima asignada para el caché de archivos (20%) y desperdiciada ya que el caché de Oracle es mejor para bases de datos Oracle que el caché de sistema operativo, pero no puedes asignar ese 20% de espacio en RAM a Oracle a menos que cambies los parámetros de memoria virtual de AIX.

Más aún, la memoria máxima reservada para el caché de archivos está limitada por el porcentaje maxclient (25%) por lo que en este sistema tu puedes usar hasta el 25% de la RAM para el caché de archivos de sistemas de archivos que no sean JFS y el otro 55% para el caché de archivos de sistemas de archivos JFS. Puedes revisar el uso de páginas de memoria para JFS con este comando:

root:myserver> svmon -G
size inuse free pin virtual
memory 2621440 2442500 178940 647452 2186997
pg space 5373952 925157

work pers clnt other
pin 562525 0 0 84927
in use 1734676 0 707824

PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 2326020 925157 571068 2070517
m 64 KB - 7280 0 4774 7280

Quizás notes que hay 0 páginas usadas para el caché de archivos de sistemas de archivos JFS (pers), y eso podría ser debido a que no hay sistemas de archivos JFS en este servidor:

root:myserver> mount
node mounted mounted over vfs date options
-------- --------------- --------------- ------ ------------ ---------------
/dev/hd1 / jfs2 Jun 05 19:09 rw,log=/dev/hd8
/dev/hd2 /usr jfs2 Jun 05 19:09 rw,log=/dev/hd8
/dev/hd5 /var jfs2 Jun 05 19:10 rw,log=/dev/hd8
/dev/hd3 /tmp jfs2 Jun 05 19:10 rw,log=/dev/hd8
/dev/hd4 /home jfs2 Jun 05 19:11 rw,log=/dev/hd8
/proc /proc procfs Jun 05 19:11 rw
/dev/hd6 /opt jfs2 Jun 05 19:11 rw,log=/dev/hd8
/dev/fslv00 /myfs jfs2 Jun 05 19:11 rw,log=/dev/loglv00

IBM recomienda configurar los parámetros así:

maxperm = 90%
maxclient = 90%
minperm = 3%

Más información:

Tuning the AIX file caches
Overview of AIX page replacement

No hay comentarios.:

Publicar un comentario