summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Kumlien <ian.kumlien@gmail.com>2010-11-27 03:02:19 +0100
committerIan Kumlien <ian.kumlien@gmail.com>2010-11-27 03:02:19 +0100
commita32900fbc87878a808f2959419cb47a67600b672 (patch)
tree7eb3e5f53226becd657cbccb74773d81f0c9b611
parent894154f155ba5dafa51aec7e8ee0cb88f9ca52e8 (diff)
gerrit.sh: tell oom killer to respect us.
Since gerrit is usually a essential process that can consume a lot of memory and you might run other memory hogs (git gc, git repack) on the same machine, lets tell the oom killer that we prefer not to be killed. Currently this only works if we're root... And i don't know if the values is what we'd want to use in real life.
-rwxr-xr-xgerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh11
1 files changed, 11 insertions, 0 deletions
diff --git a/gerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh b/gerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh
index 2a4991ea63..96e7dbb290 100755
--- a/gerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh
+++ b/gerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh
@@ -425,6 +425,17 @@ case "$ACTION" in
fi
fi
+ if test $UID = 0; then
+ PID=`cat "$GERRIT_PID"`
+ if test -f "/proc/${PID}/oom_score_adj" ; then
+ echo -1000 > "/proc/${PID}/oom_score_adj"
+ else
+ if test -f "/proc/${PID}/oom_adj" ; then
+ echo -16 > "/proc/${PID}/oom_adj"
+ fi
+ fi
+ fi
+
TIMEOUT=90 # seconds
sleep 1
while running "$GERRIT_PID" && test $TIMEOUT -gt 0 ; do