Re: Understanding Postgres Memory Usage - Mailing list pgsql-general

From Tom Lane
Subject Re: Understanding Postgres Memory Usage
Date
Msg-id 31126.1472171240@sss.pgh.pa.us
Whole thread Raw
In response to Re: Understanding Postgres Memory Usage  (Theron Luhn <theron@luhn.com>)
Responses Re: Understanding Postgres Memory Usage  (Theron Luhn <theron@luhn.com>)
List pgsql-general
Theron Luhn <theron@luhn.com> writes:
> Okay, here's the output:
> https://gist.github.com/luhn/a39db625ba5eed90946dd4a196d12220

Hm, well the only thing there that looks even slightly out of the
ordinary is the amount of free space in TopMemoryContext itself:

TopMemoryContext: 3525712 total in 432 blocks; 3444272 free (12654 chunks); 81440 used

Normally, TopMemoryContext doesn't get to more than a few hundred K,
and in the cases I've seen where it does, it's usually been because of
leaky coding that was allocating stuff there and never cleaning it up.
But you've got no more than the typical amount of space still allocated
there, which seems to kill the "leak in TopMemoryContext" theory.
And in any case there is nowhere near 100MB accounted for by the whole
dump.

Are you using any other PLs besides plpgsql?  We've seen cases where
bloat occurred within plpython or plperl, and wasn't visible in this
dump because those languages don't use PG's memory management code.
Or maybe some nonstandard extension?

If not that, then I'd have to speculate that the query you're running is
triggering some bug or otherwise pathological behavior.  Can you put
together a self-contained test case?

            regards, tom lane


pgsql-general by date:

Previous
From: Ahsan Ali
Date:
Subject: Re: LOG: could not fork new process for connection: Cannot allocate memory
Next
From: Michael Paquier
Date:
Subject: Re: incorrect checksum detected on "global/pg_filenode.map" when VACUUM FULL is executed