Memoire AIX

De DocUnix.

Depuis AIX 5.2 ML4, il existe un paramètre (quasi) imparable, le lru_file_repage.
Nota : dixit Jean-Yves Brucker, ce parametre existe en AIX 5.2 à prtir de ML04, mais n'est pas activé. Il n'est pris en compte que depuis AIX 5.3.
Ce paramètre mis à 0, le serveur essaie de dégager uniquement les file pages. Du coup, si le minperm est à 5/10%, le maxperm à 80% et le système gere (en jfs2 ou pas) les pages mémoires. Une belle courbe vmtune se traduit pas un numperm qui navique entre minperm et maxperm.

Attention tout de même en cas de jfs2 ou NFS fortement sollicité le maxclient pour littéralement exploser est atteindre les 80% du maxperm% et faire swapper le serveur, dans le cas maxperm%=maxclient%. Dans ce cas, il est peut être appréciable de mettre un maxclient% à 30%

Rapidement, l'utilisation du lru_file repage=0 permet de se libérer des contraintes mix/maxfree% (intervalle qui encadre la garantie d'avoir de la place dans la free list, depuis 5.3, ces valeurs sont appliquée sur chaque memory pool).

AIX utilise des pages de 4k par défaut. L'utilisation des pages de 16M (lgpg_size) ne sera fera uniquement par les applications sachant les utiliser (sybase entre autre) et ne seront pas "libérable" pour les autres process. lgpg_regions, permet de fixer le nombre de régions qui seront de cette taille.

Sinon, pour les larges pages, il faut aussi 1) activer le vpin_shr 2) le user doit être large page capable (c'est un attribut du user)

Pour suivre la conso: vmstat -l Voir le découpage par type de page: vmstat -P all

Obtenir des infos sur un segment mémoire

On liste les segments mémoire avec la commande suivante :

root@machine:/home/root$ ipcs -mP|awk '/m/ {ligne=$0} /SID/ {print ligne" " $1}'
m   1179648 0x76003809 --rw-rw-rw-     root   system SID:0x2561
m    131073 0x76003810 --rw-rw-rw-     root   system SID:0x19007
m         2 0x0d097858 --rw-rw----     root   system SID:0x25a1
m         3 0xffffffff D-rw-------  suiveur    suivi SID:0x3865c
m    393220 0x0052e2c1 --rw-------  suiveur    suivi SID:0x2fc97
m         5 0xffffffff --rw-rw----     root   system SID:0x8c0
m   3145734 0x0000cace --rw-rw-rw-     root   system SID:0xd808
m   8126471 0xffffffff --rw-rw----     root   system SID:0x6ab

Soit la ligne suivante :

m         2 0x0d097858 --rw-rw----     root   system SID:0x25a1

On récupère le SID, ici 0x25a1, ensuite un svmon nous donnera plus d'infos :

root@machine:/home/root$ svmon -lS 0x25a1

    Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual
    25a1         3 work shared memory segment        s      1     0    0     1
                   pid(s)=80434, 78606, 73892, 72518, 70314, 68498, 62240,
                   pid(s)=61728, 57886, 54110, 50450, 48752, 34464, 31384,
                   pid(s)=27290, 22746
Outils personnels