On Mon, 2007-11-19 at 10:33 +0000, Richard Huxton wrote:
> Bebarta, Simanchala wrote:
> >>
> >> Does the problem go away when you put shared_buffers back to a lower
> >> number?
> >>
> > Yes, when I set the value to 1300 MB, everything goes fine. Any value
> > higher than this value does not allow me to start the service.
>
> It's quite possible that you can't go any higher (I don't know enough
> about Windows' memory handling). It's quite possible you don't want to
> anyway.
> Don't forget, you want to allow space for the following:
> - Windows itself
> - Other applications
> - Each backend of PostgreSQL will need its own memory when running queries.
> - Filesystem caching.
>
> PostgreSQL isn't like some other RDBMS where you dedicate a big block of
> memory just to it.
Yeah, going above 1300Mb shared_buffer is certainly going to be a
problem. You'll run out of address space in the processes (limited to
2Gb, but that's including code and OS overhead).
That said, you're also likely to have a lot of other reasons for having
it lower. We've seen a lot of cases where putting shared_buffers as low
as possible gives for a lot better performance, and I've yet to see a
single case where having shared_buffers very high has helped.
(Before someone comments on it, the previous paragraph valid for win32
only, of course)
//Magnus