Mémoire partagée (shared memory) sur un serveur LAMP

Par     26 mars 2013  - Catégorie(s): Linux  Linux

Paramétrage de la Shared Memory sous LinuxA l’occasion de la réinstallation complète d’un serveur LAMP (Linux Apache MySQL PHP), j’ai tenu à refaire le point sur le paramétrage de la Shared Memory sur un système Linux. Cette mémoire est utilisée dans le cadre d’échanges inter-processus (IPC Inter-Process Communication). Très utilisée par PostgreSQL ou par Oracle, il s’avère que MySQL ne l’utilise pas. Apache ne s’en sert pas non plus.

Pour lister le contenu des segments de mémoire partagée, tapez la commande ipcs -m.

Configurer la taille de la mémoire partagée

La mémoire partagée est dynamique. Pour en déterminer la limite, vous devez préalablement récupérer respectivement la taille de vos pages ainsi que la valeur de la mémoire totale exprimée en bytes :

getconf PAGE_SIZE
free -b

Editez alors le fichier /etc/sysctl.conf et décommentez la directive kernel.shmall. Pour un système doté de 2GB, si vous voulez fixer votre mémoire partagée à 1GB, vous devrez indiquer :

#=(1024*1024*1024)/4096
kernel.shmall=262144

Vous devez ensuite recharger les paramètres du noyau en exécutant la commande sysctl -p. Vous pouvez vérifier ces paramètres en tapant ipcs -l.

Certaines applications écrites en PHP peuvent utiliser la Shared Memory ! Tout cela n’a rien à voir avec Memcache.

Vider la mémoire partagée

Après un crash, il peut être utile de vider la mémoire partagée à l’aide de la commande ipcrm.

Dsfc Dsfc

Mémoire partagée (shared memory) sur un serveur LAMP

4 votes, 4.75 avg. rating (93% score)

Vus : 1777
Publié par Denis Szalkowski : 58