summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hosts/jenkins/etc/default/jenkins2
-rwxr-xr-xhosts/jenkins/etc/init.d/jenkins5
2 files changed, 6 insertions, 1 deletions
diff --git a/hosts/jenkins/etc/default/jenkins b/hosts/jenkins/etc/default/jenkins
index ecf2a203..615b35f0 100644
--- a/hosts/jenkins/etc/default/jenkins
+++ b/hosts/jenkins/etc/default/jenkins
@@ -10,7 +10,7 @@ JAVA=/usr/bin/java
#JAVA_ARGS="-Djava.awt.headless=true" # Allow graphs etc. to work even when an X server is present
#JAVA_ARGS="-Xmx256m"
#JAVA_ARGS="-Djava.net.preferIPv4Stack=true" # make jenkins listen on IPv4 address
-JAVA_ARGS="-Djava.awt.headless=true -Xmx3072m -XX:MaxPermSize=384m"
+JAVA_ARGS="-Djava.awt.headless=true -Xmx3072m -XX:MaxPermSize=384m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/lib/jenkins/heapDumps/"
PIDFILE=/var/run/$NAME/$NAME.pid
diff --git a/hosts/jenkins/etc/init.d/jenkins b/hosts/jenkins/etc/init.d/jenkins
index 2714eb13..4b266c45 100755
--- a/hosts/jenkins/etc/init.d/jenkins
+++ b/hosts/jenkins/etc/init.d/jenkins
@@ -92,6 +92,11 @@ check_tcp_port() {
#
do_start()
{
+ # java will store heap dumps here in case of OutOfMemoryError.
+ # delete old heap dumps when starting
+ rm -r "$JENKINS_HOME/heapDumps/" > /dev/null 2>&1 || true
+ mkdir -p "$JENKINS_HOME/heapDumps/"
+ chown ${JENKINS_USER}.${JENKINS_GROUP} "$JENKINS_HOME/heapDumps"
# the default location is /var/run/jenkins/jenkins.pid but the parent directory needs to be created
mkdir `dirname $PIDFILE` > /dev/null 2>&1 || true
chown $JENKINS_USER `dirname $PIDFILE`