Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-admin by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group