Hi Gnanam,
On Tue, 8 May 2012 12:22:58 +0530, Gnanakumar wrote:
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)?
did you read
http://www.postgresql.org/docs/8.2/static/kernel-resources.html ?
If it is a dedicated DB server the rule of thumb usually is to use 25%
RAM for shared buffers, but no more than 8GB unless proper benchmarking
has shown a benefit using above 8GB. But I am not sure if 8GB of shared
buffers is suitable for 8.2 at all. 8.2 is EOL btw.
Also set effective cache size to 50% RAM.
Depending on your work load you might tune work_mem,
maintenance_work_mem etc.
Also, do you really NEED 1000 concurrent sessions? IF you really do, it
might be worse to look into a connection pooler.
Here is a quite nice guide:
http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
hth
Jan
--
professional: http://www.oscar-consult.de
private: http://neslonek.homeunix.org/drupal/
--
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin