Re: Volunteer to build a configuration tool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lance,

> I have a PostgreSQL database that runs on a dedicated server.  The
> server has 24Gig of memory.  What would be the max size I would ever
> want to set the shared_buffers to if I where to relying on the OS for
> disk caching approach?  It seems that no matter how big your dedicated
> server is there would be a top limit to the size of shared_buffers.

There's not, actually.  Under some circumstances (mainly Solaris 10 + UFS 
on AMD) it can actually be beneficial to have s_b be 80% of RAM and bypass 
the FS cache entirely.  This isn't usually the case, but it's not to be 
ruled out.

If you're relying on the FS cache and not using direct I/O, though, you 
want to keep at least 50% of memory free for use by the cache.  At below 
50%, you lose a significant part of the benefit of the cache without 
losing the cost of it.  Of course, that assumes that your database is 
bigger than ram; there isn't much need to have either s_b or the f.s.c. be 
more than twice the size of your whole database.

In general, a setting s_b to 25% of RAM on a dedicated machine, and 10% 
(with a max of 512MB) on a shared machine, is a nice safe default which 
will do OK for most applications. 

-- 
--Josh

Josh Berkus
PostgreSQL @ Sun
San Francisco


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux