Issue with SHMALL parameter

Started by data tangerover 13 years ago3 messagesdocs
Jump to latest
#1data tanger
datatanger@hotmail.fr

Hi,
I'm using postgresql 9.1 as my database server on a linux server that has 8 GB of RAM.
After I changed the shared_buffers parameter to 2GB, I get the following error when I try to start postgres:
FATAL: could not create shared memory segment: Cannot allocate memoryDETAIL: Failed system call was shmget(key=5432001, size=2221539328, 03600).
Here are the shmall and the shmax params of my server:
#cat /proc/sys/kernel/shmmax 68719476736
#cat /proc/sys/kernel/shmall 4294967296
So as you see, shmall is greater than the requested size by postgres. Anyone have and idea?
thank you

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: data tanger (#1)
Re: Issue with SHMALL parameter

data tanger <datatanger@hotmail.fr> writes:

Here are the shmall and the shmax params of my server:
#cat /proc/sys/kernel/shmmax 68719476736
#cat /proc/sys/kernel/shmall 4294967296

SHMALL is measured in pages not bytes on Linux. I wonder if that value
is too large and is causing an internal integer overflow in the kernel.

regards, tom lane

#3data tanger
datatanger@hotmail.fr
In reply to: Tom Lane (#2)
Re: Issue with SHMALL parameter

Thank you for your answer. I think the value of shmall I have is very common cause I've seen it many times in other servers.Do you think there maybe a link between the request size of postgres and the swap size?
Here is the output of free -m
free -m total used free shared buffers cachedMem: 7867 1860 6007 0 5 595-/+ buffers/cache: 1258 6609Swap: 1023 2 1021
Regards,

Show quoted text

From: tgl@sss.pgh.pa.us
To: datatanger@hotmail.fr
CC: pgsql-docs@postgresql.org
Subject: Re: [DOCS] Issue with SHMALL parameter
Date: Tue, 18 Sep 2012 12:07:46 -0400

data tanger <datatanger@hotmail.fr> writes:

Here are the shmall and the shmax params of my server:
#cat /proc/sys/kernel/shmmax 68719476736
#cat /proc/sys/kernel/shmall 4294967296

SHMALL is measured in pages not bytes on Linux. I wonder if that value
is too large and is causing an internal integer overflow in the kernel.

regards, tom lane