Vous n'êtes pas identifié(e).

#1 04/09/2013 12:15:55

david.claveau
Membre

shmmax sur OS 32bits avec PAE

Nous avons installé Postgresql 8.3 sur un serveur Linux CentOS 5.3 32 bits.
Équipe de 24 Go, le noyau de ce serveur a été patché avec PAE afin d'utiliser toute la RAM (la commande # free l’atteste).

Des problèmes de performance fait que mon administrateur de base de données a souhaité augmenter le SHMMAX afin de le placer à environ 20 Go.
Malheureusement, dès que l'on dépasse la valeur de 4Go (avec la commande sysctl ou via le fichier /etc/sysctl.conf puis reboot), la valeur se remet à 778774528.
Cela ressemble à une limite du au 32 bits, mais pourtant tout le système gère et affiche correctement les 24Go grâce au PAE.

Quelqu'un a une idée ? Merci d'avance.

Hors ligne

#2 04/09/2013 19:55:35

gleu
Administrateur

Re : shmmax sur OS 32bits avec PAE

Oui, c'est une limite de PAE. PAE permet au noyau de voir toute la mémoire matérielle. Le système peut l'utiliser pour son cache. Par contre, chaque processus utilisateur (dont les processus de PostgreSQL) est toujours limité à 4 Go.


Guillaume.

Hors ligne

#3 04/09/2013 19:56:13

gleu
Administrateur

Re : shmmax sur OS 32bits avec PAE

J'oubliais la conclusion. Si vous voulez que PostgreSQL puisse avoir un cache supérieur à 2 Go, passez à du 64 bits.


Guillaume.

Hors ligne

#4 05/09/2013 09:09:31

david.claveau
Membre

Re : shmmax sur OS 32bits avec PAE

Merci beaucoup gleu.
Pour clôturer la discussion, voici un article que je viens de recevoir de Robert Haas (contributeur sur Postgres) qui confirme vos dires :
http://rhaas.blogspot.jp/2011/05/shared … stems.html

Hors ligne

Pied de page des forums