Vous n'êtes pas identifié(e).
Pages : 1
Bonjour, ma base en production fait un "out of memory"
[xsid-postgres] TopMemoryContext: 241512 total in 29 blocks; 50264 free (359 chunks); 191248 used
.....
[xsid-postgres] CacheMemoryContext: 2240560 total in 22 blocks; 1023648 free (3 chunks); 1216912 used
[xsid-postgres] MdSmgr: 8192 total in 1 blocks; 1528 free (0 chunks); 6664 used
[xsid-postgres] LOCALLOCK hash: 57344 total in 3 blocks; 27328 free (8 chunks); 30016 used
[xsid-postgres] Timezones: 78520 total in 2 blocks; 5968 free (0 chunks); 72552 used
[xsid-postgres] ErrorContext: 16384 total in 2 blocks; 16352 free (11 chunks); 32 used
[xsid-postgres] BASE:BDEXPL DATE:2012-06-12 14:48:57 GMT SESSION:4fd749ea.388a LIGNE:13 TRANSACTION:0 ERROR: out of memory
[xsid-postgres] BASE:BDEXPL DATE:2012-06-12 14:48:57 GMT SESSION:4fd749ea.388a LIGNE:14 TRANSACTION:0 DETAIL: Failed on request of size 348.
Avez-vous la signification des différentes lignes ci-dessus afin que je comprenne l'origine du pb
Merci d'avance
Hors ligne
Les lignes que vous donnez précisent l'utilisation de la mémoire dans PostgreSQL. Difficile d'en dire plus sans avoir les traces complètes. De plus, vous devez avoir dans les traces la requête qui a généré cet affichage.
Guillaume.
Hors ligne
re-bonjour
ou puis-je trouver la signification (doc ?) précise des informations affichées dans ce log postgres afin de vérifier si il y a adéquation entre le fichier pg_sql.conf, la paramétrage du serveur qui héberge postgres et les traces affichées
[xsid-postgres] CacheMemoryContext: 2240560 total in 22 blocks; 1023648 free (3 chunks); 1216912 used
[xsid-postgres] MdSmgr: 8192 total in 1 blocks; 1528 free (0 chunks); 6664 used
[xsid-postgres] LOCALLOCK hash: 57344 total in 3 blocks; 27328 free (8 chunks); 30016 used
[xsid-postgres] Timezones: 78520 total in 2 blocks; 5968 free (0 chunks); 72552 used
[xsid-postgres] ErrorContext: 16384 total in 2 blocks; 16352 free (11 chunks); 32 used
pour infos,
le paramétrage postgres est celui-ci et il y au max 30 clients en // (paramétrage de la queue du serveur Jboss/hibernate)
work_mem = 80MB
maintenance_work_mem = 128MB
shared_buffers = 2GB
wal_buffers=4MB
effective_cache_size = 3GB
et la machine à 4 gigas de Ram (machine virtuelle vmware Linux redhat 32 bits)
Dernière modification par F.Chanson (17/07/2012 11:55:04)
Hors ligne
Pour répondre directement à votre question, la documentation ne fournit pas d'informations sur ces traces. Ces traces ne sont pas forcément directement liées à la configuration de la mémoire. Par exemple, la ligne Timezones vous indique la quantité de mémoire utilisée pour les fuseaux horaires. Vous n'avez aucun paramètre qui vous permet de la configurer. De même pour un certain nombre des lignes ici.
Attention à ne pas configurer work_mem trop haut, ça pourrait générer du swap. Avec un shared_buffers à 2 Go, un work_mem à 80 Mo, et un max_connections à certainement plus que 30, vous risquez de vous trouver avec des demandes de mémoire de plus de 4,4 Go (2 Go + 80 Mo * 30), soit plus que la mémoire physique (et plus que ce que peut fournir un Linux 32 bits). De plus, votre effective_cache_size est trop haut (3 Go alors que vous prenez déjà 2 Go rien que pour shared_buffers). Bref, votre configuration mémoire est améliorable (même si cela ne corrigera pas le problème que vous indiquez avec les traces).
Guillaume.
Hors ligne
Pages : 1