Re: array_agg() on a set larger than some arbitrary(?) limit causes runaway memory usage and eventually memory exhaustion

From: Frank van Vugt <ftm(dot)van(dot)vugt(at)foxi(dot)nl>
To: pgsql-bugs(at)postgresql(dot)org
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Valentine Gogichashvili <valgog(at)gmail(dot)com>, ftm(dot)van(dot)vugt(at)foxi(dot)nl
Subject: Re: array_agg() on a set larger than some arbitrary(?) limit causes runaway memory usage and eventually memory exhaustion
Date: 2013-10-24 09:12:43
Message-ID: 1450179.hff3dGHaxZ@techfox.foxi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Stephen,

Op maandag 21 oktober 2013 10:47:26 schreef Stephen Frost:
> > In production, I use it wherever it's _really_ needed, but mind
> > that the oom-killer in newer kernels is already selecting processes
> > a bit smarter than it used to. In the example I gave,
> > the correct child process was killed.

> The correct child being killed doesn't actually mean that it's a *good
> idea* to kill off PG child processes, in general, particularly in the
> way that the OOM killer goes about it (kill -9). If it was possible to
> tune the OOM killer to use a different signal, which would allow PG to
> actually clean things up, it *might* be reasonable to allow it, but I
> still wouldn't recommend it.
>
> In production, for my part, proper memory accounting (and disabling of
> OOM) should *always* be used.

I did not describe this the way I should have, I meant to say that I do
exactly that: disable the OOM-killer _always_ in a production situation since
there it is _really_ needed.

I noticed on the development machine where I did the testing that the correct
child process was being killed, which used to not be the case.

Thanks for emphasizing this, though.

--

Best,

Frank.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message jmlich 2013-10-24 09:41:23 BUG #8552: NEGATIVE_RETURNS in contrib/pageinspect/rawpage.c:83
Previous Message Frank van Vugt 2013-10-24 09:12:14 Re: array_agg() on a set larger than some arbitrary(?) limit causes runaway memory usage and eventually memory exhaustion