From 1b4c5d4f2c1ea6f25a035884adc7fea884c25334 Mon Sep 17 00:00:00 2001 From: Ernie Hershey Date: Wed, 6 Nov 2013 18:25:39 -0500 Subject: [PATCH] SERVER-10931 set ulimits in init scripts to match documentation This sets resource limits across all Linux packages to match our recommended settings - http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings --- debian/init.d | 12 +++++++++++- debian/mongod.upstart | 10 +++++++++- rpm/init.d-mongod | 12 +++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/debian/init.d b/debian/init.d index 909def7049b..4a62a677dba 100644 --- a/debian/init.d +++ b/debian/init.d @@ -120,7 +120,17 @@ running() { } start_server() { -# Start the process using the wrapper + # Recommended ulimit values for mongod or mongos + # See http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings + # + ulimit -f unlimited + ulimit -t unlimited + ulimit -v unlimited + ulimit -n 64000 + ulimit -m unlimited + ulimit -u 32000 + + # Start the process using the wrapper start-stop-daemon --background --start --quiet --pidfile $PIDFILE \ --make-pidfile --chuid $DAEMONUSER \ --exec $NUMACTL $DAEMON $DAEMON_OPTS diff --git a/debian/mongod.upstart b/debian/mongod.upstart index 48180ba8a4e..ebfa006ad8b 100644 --- a/debian/mongod.upstart +++ b/debian/mongod.upstart @@ -1,6 +1,14 @@ # Ubuntu upstart file at /etc/init/mongod.conf -limit nofile 20000 20000 +# Recommended ulimit values for mongod or mongos +# See http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings +# +limit fsize unlimited unlimited +limit cpu unlimited unlimited +limit as unlimited unlimited +limit nofile 64000 64000 +limit rss unlimited unlimited +limit nproc 32000 32000 kill timeout 300 # wait 300s between SIGTERM and SIGKILL. diff --git a/rpm/init.d-mongod b/rpm/init.d-mongod index ab69b19e993..2f3de17aa64 100644 --- a/rpm/init.d-mongod +++ b/rpm/init.d-mongod @@ -45,6 +45,16 @@ fi start() { + # Recommended ulimit values for mongod or mongos + # See http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings + # + ulimit -f unlimited + ulimit -t unlimited + ulimit -v unlimited + ulimit -n 64000 + ulimit -m unlimited + ulimit -u 32000 + echo -n $"Starting mongod: " daemon --user "$MONGO_USER" $NUMACTL $mongod $OPTIONS RETVAL=$? @@ -66,7 +76,7 @@ restart () { start } -ulimit -n 12000 + RETVAL=0 case "$1" in