Thread: BUG #5756: postgres eat up all memory(2GB memory)

BUG #5756: postgres eat up all memory(2GB memory)

From
"amos"
Date:
The following bug has been logged online:

Bug reference:      5756
Logged by:          amos
Email address:      amosleaf@gmail.com
PostgreSQL version: 8.3
Operating system:   windows server 2008
Description:        postgres eat up all memory(2GB memory)
Details:

Hi:
I am sorry for not good at english, so please be patient with what i write,
I really need your help,thank you in advance.

Current situration:
(1)Our server use postgres8.3 database.
(2)The server would receive 500-1500 http request, and for each request,
server would operate the database once, so may it would use one database
connection.
(3)then I modify the configuration in "postgresql.conf".
What I changed is:
(1)max_connections = 2000
(2)shared_buffers = 32MB
(3)statement_timeout = 1800000  //this is 30 minutes

So the result is: when the server is working with more than 500 request, the
postgres eat up the memory.

BTW, our server is running java program, use a database pool whose name is
"c3p0".

So which configuration should I change to avoid this?
Thanks again!

Re: BUG #5756: postgres eat up all memory(2GB memory)

From
Craig Ringer
Date:
"Amos"

This is not a bug. Your PostgreSQL install is misconfigured - you have
told it to use more memory than you have. Use a reasonable number of
max_connections, maybe as few as 20 or 30, and set c3p0 (your connection
pooler) to use one or two fewer than that. Your webapp's clients should
share the connections, and you should get MUCH, MUCH better results that
way, because your machine will spend less time thrashing and more time
getting real work done.

Feel free to ask for help on the postgresql-general mailing list if you
want further assistance.

http://www.postgresql.org/community/lists/

http://archives.postgresql.org/pgsql-general/

--
System & Network Administrator
POST Newspapers