From 281d6a21de8e8d9ed9a7abd974a6a9ccac13ad77 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Tue, 26 Apr 2016 16:00:36 +0100 Subject: [PATCH] add oom killer config, so containers die before system daemons, fix #110 Signed-off-by: Justin Cormack --- alpine/Dockerfile | 2 ++ alpine/packages/oom/etc/init.d/oom | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100755 alpine/packages/oom/etc/init.d/oom diff --git a/alpine/Dockerfile b/alpine/Dockerfile index 43d6b4997..fb99b447a 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -70,6 +70,7 @@ COPY packages/vsudd/vsudd /sbin COPY packages/vsudd/etc /etc COPY packages/mobyconfig/mobyconfig /usr/bin COPY packages/gummiboot/gummiboot.tar.gz /usr/share/src/ +COPY packages/oom/etc /etc RUN \ rc-update add swap boot && \ @@ -106,6 +107,7 @@ RUN \ rc-update add hv_kvp_daemon default && \ rc-update add hv_vss_daemon default && \ rc-update add vsudd default && \ + rc-update add oom default && \ true COPY init / diff --git a/alpine/packages/oom/etc/init.d/oom b/alpine/packages/oom/etc/init.d/oom new file mode 100755 index 000000000..3a0833ee8 --- /dev/null +++ b/alpine/packages/oom/etc/init.d/oom @@ -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" +}