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" +}