add oom killer config, so containers die before system daemons, fix #110

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack 2016-04-26 16:00:36 +01:00
parent c470c2f0fa
commit 281d6a21de
2 changed files with 23 additions and 0 deletions

View File

@ -70,6 +70,7 @@ COPY packages/vsudd/vsudd /sbin
COPY packages/vsudd/etc /etc COPY packages/vsudd/etc /etc
COPY packages/mobyconfig/mobyconfig /usr/bin COPY packages/mobyconfig/mobyconfig /usr/bin
COPY packages/gummiboot/gummiboot.tar.gz /usr/share/src/ COPY packages/gummiboot/gummiboot.tar.gz /usr/share/src/
COPY packages/oom/etc /etc
RUN \ RUN \
rc-update add swap boot && \ rc-update add swap boot && \
@ -106,6 +107,7 @@ RUN \
rc-update add hv_kvp_daemon default && \ rc-update add hv_kvp_daemon default && \
rc-update add hv_vss_daemon default && \ rc-update add hv_vss_daemon default && \
rc-update add vsudd default && \ rc-update add vsudd default && \
rc-update add oom default && \
true true
COPY init / COPY init /

View File

@ -0,0 +1,21 @@
#!/sbin/openrc-run
description="oom killer settings"
depend()
{
after docker
}
start()
{
ebegin "Adjusting oom killer settings"
for f in $(find /run -name '*.pid')
do
PID=$(cat $f)
[ -f /proc/$PID/oom_score_adj ] && echo "-800" > /proc/$PID/oom_score_adj
done
eend $? "Failed to adjust oom settings"
}