Re: contrib/start-scripts/linux failing on RHEL 6 with ~9.3 because of missing oom_score_adj
От | Michael Paquier |
---|---|
Тема | Re: contrib/start-scripts/linux failing on RHEL 6 with ~9.3 because of missing oom_score_adj |
Дата | |
Msg-id | CAB7nPqSZatgCwvUZKHV313OhBFW5X+X+o7F=jHDuvr=8cR9owA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: contrib/start-scripts/linux failing on RHEL 6 with ~9.3 because of missing oom_score_adj (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: contrib/start-scripts/linux failing on RHEL 6 with ~9.3 because of missing oom_score_adj
|
Список | pgsql-bugs |
On Sun, Apr 26, 2015 at 8:47 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Michael Paquier <michael.paquier@gmail.com> writes: >> Support for oom_score_adj has been added in kernel 2.6.36, a version >> newer than 2.6.32-71 which is embedded in RHEL6, so the startup script >> contrib/start-scripts/linux would fail because it does not check for >> the presence of oom_score_adj before adding the value of OOM_SCORE_ADJ >> to it. > > I'm not sure where you draw the conclusion that RHEL6 doesn't have > oom_score_adj. Mine certainly does: > > [tgl@sss1 pgsql]$ uname -a > Linux sss1.sss.pgh.pa.us 2.6.32-504.16.2.el6.x86_64 #1 SMP Tue Mar 10 17:01:00 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux > > [tgl@sss1 pgsql]$ ls /proc/self/ > attr/ coredump_filter io mountstats pagemap stack > autogroup cpuset limits net/ personality stat > auxv cwd@ loginuid ns/ root@ statm > cgroup environ maps numa_maps sched status > clear_refs exe@ mem oom_adj schedstat syscall > cmdline fd/ mountinfo oom_score sessionid task/ > comm fdinfo/ mounts oom_score_adj smaps wchan > > I'm prepared to believe that the original upstream 2.6.32 didn't have > oom_score_adj, but Red Hat often back-ports kernel features. Well, it may have been a different version then because I was reported by a colleague that this was failing because of oom_score_adj missing ;) >> We could argue that this is not directly a problem of PG itself as one >> could just copy the startup script from the code tree to create its >> own service script and fix it, still I am getting the feeling that we >> should show a better logic with something like the patch attached. > > This patch seems completely wrong, as it is forcing use of the oom > adjustment, whereas the intention is that the user should choose > if they want to use it; cf /contrib/start-scripts/linux lines 43-55. On REL9_3_STABLE, the condition the startup script has is that: test x"$OOM_SCORE_ADJ" != x && echo "$OOM_SCORE_ADJ" > /proc/self/oom_score_adj test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj My patch was adding a condition to check the existence of /proc/self/oom_score_adj and /proc/self/oom_adj, leaving OOM_ADJ and OOM_SCORE_ADJ uncommented, so the value will not be set if user does not uncomment it. But perhaps I am missing something. > Also, it kind of looks like you are working with something older > than what is in HEAD, anyway. The previous patch applies to REL9_3_STABLE and older, not newer versions FWIW. Sorry for not being clearer about that. Regards, -- Michael
В списке pgsql-bugs по дате отправления: