Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Etant nouvelle autant sur le site que sur PostgreSQL, je rencontre le problème suivant sur notre serveur :
Une sauvegarde pg_dump est lancée sur notre base PostgreSQL 9.6.3 et se termine correctement. Lors de la sauvegarde, la mémoire consommée est énorme mais celle-ci ne se libère toujours pas même lorsque la sauvegarde est terminée. Il faut alors supprimer le fichier généré pour que la mémoire diminue.
Est-ce qu'il y a quelqu'un aurait une idée svp ?
Merci déjà à ceux qui pourront me donner une piste
Cordialement,
Hors ligne
Quel système d'exploitation? Comment est mesurée la mémoire "consommée" ?
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
RHLE 6 et je fais top dans la console pour voir la mémoire consommée. Et malgré une migration vers RHEL 7 sur un serveur test, le problème persiste toujours.
Merci.
Dernière modification par so.ranaivosoa (15/05/2018 08:06:15)
Hors ligne
Top affiche comme utilisée la mémoire utilisée par le cache disque. La mémoire est utilisée mais disponible. Vous pouvez vérifier cela en comparant le retour de la commande "free -g" avant et après avoir supprimé le fichier.
Julien.
https://rjuju.github.io/
Hors ligne
Ci-après le test, la mémoire est used :
[ Serveur | APPL | 2018-05-15 11:23:31 | /backup/test ]
$ /opt/appl/sgbd/bin/pg_dump -f pg_dump_sgbd.backup -Z0 -Fc -h localhost -p 30009 -U test -d test
[ Serveur | APPL | 2018-05-15 11:24:05 | /backup/test ]
$ free -g
total used free shared buffers cached
Mem: 31 5 26 0 0 4
-/+ buffers/cache: 0 30
Swap: 11 0 11
[ Serveur | APPL | 2018-05-15 11:24:42 | /backup/test ]
$ ls
pg_dump_sgbd.backup
[ Serveur | APPL | 2018-05-15 11:25:01 | /backup/test ]
$ rm pg_dump_sgbd.backup
[ Serveur | APPL | 2018-05-15 11:25:08 | /backup/test ]
$ free -g
total used free shared buffers cached
Mem: 31 3 27 0 0 3
-/+ buffers/cache: 0 30
Swap: 11 0 11
[ Serveur | APPL | 2018-05-15 11:25:15 | /backup/test ]
$ ls
Ce que je voudrais c'est qu'après la sauvegarde, il libère le cache malgré le fait que le fichier soit encore dans le serveur. Pendant la sauvegarde OK, il n'y a pas de souci mais après ce n'est pas possible. Etant dans une base de test, mon fichier atteint seulement 1.5Go max mais lors de la prod, il atteint 2 fois plus et la mémoire consommée est apparemment à peu près égale à la taille du fichier.
Hors ligne
C'est complètement normal, linux garde les blocs en cache, déjà parce qu'ils ne sont pas encore nécessairement écrits physiquement sur le disque, et parce que de toute façon la mémoire qui ne sert à rien d'autre a tendance à être utilisée en cache.
Si vous voulez vider le cache, faire en tant que root:
sync && echo 3 > /proc/sys/vm/drop_caches
Dernière modification par dverite (15/05/2018 11:39:14)
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Donc vous voulez dire que si ma base augmente encore je dois avoir de plus en plus de mémoires? Je veux dire si par exemple ma base dans quelques temps atteindra 10Go, je devrais avoir la même taille de mémoire pour pouvoir stocker mes sauvegardes ? Et en plus, si je fais une sauvegarde tous les jours avec 1,5Go de taille avec une semaine de rétention, il aura 5 fois plus de mémoire allouée et il faudra à chaque fois purgé le cache tous les jours ?
Merci.
Hors ligne
Non, absolument pas. Il se contentra de la mémoire disponible.
Guillaume.
Hors ligne
Lors de l'utilisation de cette syntaxe : pg_dump -f pg_dump_sgbd.backup -Z0 -Fc -h localhost -p port -U test -d test, j'ai le problème mais lorsque j'ai enlevé -Z0 la mémoire diminue. D'après le peu que j'ai trouvé, l'option -Z indique le niveau de compression et 0 indique qu'il n'y a pas de compression alorsquel serait mon intérêt de mettre -Z0 si celle-ci est déjà géré sans l'option ?
Merci.
Dernière modification par so.ranaivosoa (16/05/2018 10:02:43)
Hors ligne
Par défaut pg_dump compressera les données (équivalent -Z4 ou -Z5 il me semble). Mettre -Z0 va éviter de consommer du CPU pour la compression mais génèrera une sauvegarde plus volumineuse. C'est à vous de voir le compromis qui vous va.
Julien.
https://rjuju.github.io/
Hors ligne
Est-ce que cette consommation du CPU sera seulement durant l'opération de sauvegarde ou pendant la présence du fichier comme mon problème de RAM ?
Merci.
Hors ligne
Uniquement pendant la création du fichier de sauvegarde et pendant la restauration. Et vous n'avez pas de problème de RAM, ce n'est pas parce que la RAM est utilisée par le cache qu'elle n'est pas disponible pour autre chose en cas de besoin. Cf https://www.linuxatemyram.com/
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1