On 11/25/2010 12:28 PM, Darryl Pye wrote:

> PostgreSQL version: 9.01

32-bit or 64-bit ?

A single postgres  process  appears to be constantly growing in memory usage
  until it reaches 100% of memory on the machine.

How are you watching it? Task manager?

You need to use something that can differentiate between the shared memory block and the per-task private memory. Process Explorer can do that, IIRC.

I have rebooted the server and the problem goes away but then  a single
postgres.exe process continues to  eat memory until it uses all available
ram then i have to restart again.

Are you able to identify which postgres process it is? Is it shown in "SELECT * from pg_stat_activity;" ?

Is it one of the postgres processes that appears when PostgreSQL is first started, before any connections are made to the database server?

Are you sure you're not looking at totals for all postgres.exe instances?

I have made the following configuration changes from default
shared_buffers = 1GB
wal_buffers = 1MB       
effective_cache_size = 2GB

With those settings, you should expect PostgreSQL to appear to use a bit over 1GB of RAM per postgres.exe, though the vast majority of that 1GB should be shared between all the postgres.exe processes so the total memory of all postgres.exe instances will appear to vastly exceed your machine's RAM. That's just because of the bad accounting for shared memory in most OSes, including windows, and doesn't affect how it runs.

--
Craig Ringer

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to