Re: The right SHMMAX and FILE_MAX - Mailing list pgsql-performance

From Adarsh Sharma
Subject Re: The right SHMMAX and FILE_MAX
Date
Msg-id 4DBE8F17.9060204@orkash.com
Whole thread Raw
In response to Re: The right SHMMAX and FILE_MAX  (Tomas Vondra <tv@fuzzy.cz>)
List pgsql-performance
Tomas Vondra wrote:
Dne 2.5.2011 06:53, Adarsh Sharma napsal(a): 
I am also in need of a proper documentation that explains how to set 
SHMAX and SHMALL variables in Postgres.

What things need to be taken in consideration before doing that ?
What is the value of SHMAX & SHMALL if u have 16 GB RAM for Postgres
Server ?   
Well, those two values actually define kernel limits for shared memory
segments (i.e. memory shared by multiple processes, in this case the
postmaster proces and backends). So it's rather a question of tuning
shared_buffers (because that's the shared memory segment) and then
setting those two values. 

When I was tuning Postgresql for best Performance, I set my shared_buffers= 4096 MB as I set 25% of RAM ( 1/4 )

So Do I need to set my SHMMAX =4096 MB.

What is the SHMALL size now ?

SHMMAX - max. size of a single shared segment (in bytes)
SHMALL - total size of shared segments (in pages, page is usually 4kB)

So if you decide you want 1GB shared buffers, you'll need at least this

SHMMAX = 1024 * 1024 * 1024 (i.e. 1GB)
SHMALL = 1024 * 256 (1GB in 4kB pages)

(althouth the SHMALL should be higher, as there will be other processes
that need shared memory).

There's a lot of docs about this, e.g. this one (it's mostly for Oracle,
but it describes the shared memory quite nicely):

http://www.puschitz.com/TuningLinuxForOracle.shtml#SettingSharedMemory

regards
Tomas
 

pgsql-performance by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: The right SHMMAX and FILE_MAX
Next
From: Wayne Conrad
Date:
Subject: Re: 8.4.7, incorrect estimate