[linux-l] Service Speicherlimit (Cluster)
Ralph Angenendt
ralph at strg-alt-entf.org
Di Jan 7 13:34:48 CET 2020
Peter Rader wrote:
>In den logs steht etwas von Speicherproblemen ab ~41 Megabyte:
>
>Jan 07 12:50:01 rmktt-036 postgresql at 9.4-repgtv[6187]: The PostgreSQL server failed to start. Please check the log output:
>Jan 07 12:50:01 rmktt-036 postgresql at 9.4-repgtv[6187]: 2020-01-07 12:50:01 CET [6197-1] FATAL: could not map anonymous shared memory: Cannot allocate memory
>Jan 07 12:50:01 rmktt-036 postgresql at 9.4-repgtv[6187]: 2020-01-07 12:50:01 CET [6197-2] HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 41787392 bytes), reduce PostgreSQL's shared memory usag
>
>Jemand eine Idee?
Du hast nicht genügend shared memory (SHM) auf der Maschine
konfiguriert.
Das kann via sysctl eingestellt werden.
Erst mal rausbekommen, was maximal auf deiner Maschine möglich ist:
|teatime:~# sysctl kernel.shmmax
|kernel.shmmax = 18446744073692774399
Dann die Pagesize auf deinem Rechner herausfinden:
|teatime:~# getconf PAGE_SIZE
|4096
SHMALL setzt die Anzahl der shared memory pages, die systemweit genutzt
werden können - das sollte *mindestens* shmmax/pagesize sein. In dem
Fall hier also:
| teatime:~# echo "18446744073692774399/4096" | bc
| 4503599627366399
Das kannst du dann mit sysctl setzen:
| teatime:~# sysctl -w kernel.shmall=4503599627366399
Oder wenn das einen reboot überleben soll:
| teatime:~# echo "kernel.shmall=4503599627366399 >> /etc/sysctl.conf"
Mehr Information, gerade im Kontext "PostgreSQL" gibt es hier:
https://www.postgresql.org/docs/9.0/kernel-resources.html
Cheers,
Ralph
--
He'll rekindle all the dreams it took you a lifetime to destroy
Mehr Informationen über die Mailingliste linux-l