Advice/guideline on increasing shared_buffers and kernel parameters

From: "Gnanakumar" <gnanam(at)zoniac(dot)com>
To: <pgsql-admin(at)postgresql(dot)org>
Subject: Advice/guideline on increasing shared_buffers and kernel parameters
Date: 2012-05-08 06:52:58
Message-ID: 00da01cd2ce7$35d17780$a1746680$@com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

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

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Jan Lentfer 2012-05-08 08:31:25 Re: Advice/guideline on increasing shared_buffers and kernel parameters
Previous Message Thomas Markus 2012-05-08 06:24:41 Re: Very long "<IDLE> in transaction" query