Subject: Issue with SHMALL parameter

From: data tanger <[email-masked]>
Date: Tue, 18 Sep 2012 15:59:53 +0200

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

---

From: Tom Lane <[email-masked]>
Date: Tue, 18 Sep 2012 12:07:46 -0400

> #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

---

From: data tanger <[email-masked]>
Date: Tue, 18 Sep 2012 20:07:54 +0200

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,
> From: [email-masked]
> To: [email-masked]
> CC: [email-masked]
> Subject: Re: [DOCS] Issue with SHMALL parameter
> Date: Tue, 18 Sep 2012 12:07:46 -0400
>