Обсуждение: [PERFORM] Postgres uses too much RAM
Hello,
on our old server (120 GB RAM) PostgreSQL 9.4.5 was using less than 10 GB of ram. On our new server (same system) Postgres 9.4.11 is using up to 40 GB Ram. Especially each idle process is consuming 2.4 GB: postgres 30764 8.3 2.4 3358400 3215920 ? Ss 21:58 0:24 postgres: testuser testdb [local] idle
Summing up PG needs currently 72.14GB (also the slab_cache was increasing from 20 GB to 40 GB. ). For monitoring we are using munin. Is this a bug of 9.4.11 or what could be wrong?
postgresmain.conf did not change:
max_connections = 40
effective_cache_size = 64GB
shared_buffers = 1GB
work_mem = 8MB
checkpoint_segments = 32
checkpoint_timeout = 10min
checkpoint_completion_target = 0.9
checkpoint_warning = 30s
constraint_exclusion = off
Thanks, Hans
On Mon, May 8, 2017 at 3:23 PM, Hans Braxmeier <hans.braxmeier@outlook.com> wrote: > Hello, > > > on our old server (120 GB RAM) PostgreSQL 9.4.5 was using less than 10 GB of > ram. On our new server (same system) Postgres 9.4.11 is using up to 40 GB > Ram. Especially each idle process is consuming 2.4 GB: postgres 30764 8.3 > 2.4 3358400 3215920 ? Ss 21:58 0:24 postgres: testuser testdb [local] idle > > > Summing up PG needs currently 72.14GB (also the slab_cache was increasing > from 20 GB to 40 GB. ). For monitoring we are using munin. Is this a bug of > 9.4.11 or what could be wrong? can you paste unredacted snippet from, say, 'top'? A common measuring error is to assume that shared memory usage is specific cumulative to each process rather than from a shared pool. It's hard to say either way from your info above. If you do have extremely high resident memory usage, culprits might be: *) bona fide memory leak (although this is rare) *) bloat in the cache context (relcache, plancache, etc), especially if you have huge numbers of tables. workaround is to recycle processes occasionally and/or use pgbouncer *) 3rd party package attached to the postgres process (say, pl/java). merlin