Hi,
Our Production server has got 35 GB physical RAM size. Since the server
has lots of RAM, we want to really make use of it. We've already configured
"max_connections" to 1000 and "shared_buffers" to 1536 MB, but when we tried
to increase only "shared_buffers" to 3072MB (keeping "max_connections" as it
is), PostgreSQL failed to start with the following error:
EDTFATAL: could not create shared memory segment: Invalid argument
EDTDETAIL: Failed system call was shmget(key=5432001,
size=3307192320, 03600).
Keeping max connection property to 1000, how do I "best" tune/set up its
memory related parameters (including Linux Kernel parameters -- SHMMAX and
SHMALL)?
Experts insights/pointers on this are really appreciated.
Given below current settings available in our server:
-- SHMMAX & SHMALL --
# cat /proc/sys/kernel/shmall
2097152
# cat /proc/sys/kernel/shmmax
2147483648
-- OS & Kernel --
OS: CentOS release 5.2
Arch: 64-bit
Kernel: 2.6.18
-- PostgreSQL conf --
shared_buffers = 1536MB
max_connections = 1000
We're currently running PostgreSQL v8.2.22.
Regards,
Gnanam