Re: Setting oom_adj on linux? - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: Setting oom_adj on linux?
Date
Msg-id 9837222c1001080407j2769d098m84885a6863889698@mail.gmail.com
Whole thread Raw
In response to Re: Setting oom_adj on linux?  (Alex Hunsaker <badalex@gmail.com>)
Responses Re: Setting oom_adj on linux?  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Setting oom_adj on linux?  (Stephen Frost <sfrost@snowman.net>)
List pgsql-hackers
On Fri, Jan 8, 2010 at 04:46, Alex Hunsaker <badalex@gmail.com> wrote:
> On Thu, Jan 7, 2010 at 20:26, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Alex Hunsaker <badalex@gmail.com> writes:
>
>> We can either drop this in core (with a lot of #ifdef LINUX added)
>
> Any thoughts on doing something like (in fork_process.c)
>
> #ifdef LINUX
> void oom_adjust()
> {
> ...
> }
> #else
> void oom_adjust() {}
> #endif
>
> So there is only one #ifdef?  It still leaves the ugly calls to the function...

Seems like a much better way, yes. Especially if we in the future want
to do this for more than one platform (if it becomes necessary).


>> or expect Linux packagers to carry it as a patch.  Given that the
>> packagers would also have to modify their init scripts to go with,
>> the patch route is not unreasonable.  Comments?
>
> Id plus +1 for core.  The problem certainly does not look to be going
> away soon (if ever).

Yeah, I think core is better. It's not like it's enough code to cause
a huge maintenance problem, I think.

Do we need to make the value configurable? I'd certainly find it
interesting to set backends to say 5 or something like that, that
makes them less likely to be killed than any old "oops opened too big
file in an editor"-process, but still possible to kill if the system
is *really* running out of memory.



-- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/


pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: new full vacuum doesn't work
Next
From: Greg Stark
Date:
Subject: Re: Serializable Isolation without blocking