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.
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 |