Permalink
Browse files

SERVER-3574 updating init scripts for numa

  • Loading branch information...
1 parent 451dccb commit 04de9098bb96c61c083d7a55215e604522ab132d @miketheman miketheman committed Feb 28, 2012
Showing with 25 additions and 3 deletions.
  1. +11 −1 debian/init.d
  2. +14 −2 rpm/init.d-mongod
View
@@ -64,6 +64,16 @@ if [ -f /etc/default/$NAME ] ; then
. /etc/default/$NAME
fi
+# Handle NUMA access to CPUs (SERVER-3574)
+# This verifies the existence of numactl as well as testing that the command works
+NUMACTL_ARGS="--interleave=all"
+if which numactl >/dev/null 2>/dev/null && numactl $NUMACTL_ARGS ls / >/dev/null 2>/dev/null
+then
+ NUMACTL="numactl $NUMACTL_ARGS"
+else
+ NUMACTL=""
+fi
+
if test ! -x $DAEMON; then
echo "Could not find $DAEMON"
exit 0
@@ -119,7 +129,7 @@ start_server() {
# Start the process using the wrapper
start-stop-daemon --background --start --quiet --pidfile $PIDFILE \
--make-pidfile --chuid $DAEMONUSER \
- --exec $DAEMON -- $DAEMON_OPTS
+ --exec $NUMACTL $DAEMON -- $DAEMON_OPTS
errcode=$?
return $errcode
}
View
@@ -29,12 +29,24 @@ mongod=${MONGOD-/usr/bin/mongod}
MONGO_USER=mongod
MONGO_GROUP=mongod
-. "$SYSCONFIG" || true
+if [ -f "$SYSCONFIG" ]; then
+ . "$SYSCONFIG"
+fi
+
+# Handle NUMA access to CPUs (SERVER-3574)
+# This verifies the existence of numactl as well as testing that the command works
+NUMACTL_ARGS="--interleave=all"
+if which numactl >/dev/null 2>/dev/null && numactl $NUMACTL_ARGS ls / >/dev/null 2>/dev/null
+then
+ NUMACTL="numactl $NUMACTL_ARGS"
+else
+ NUMACTL=""
+fi
start()
{
echo -n $"Starting mongod: "
- daemon --user "$MONGO_USER" $mongod $OPTIONS
+ daemon --user "$MONGO_USER" $NUMACTL $mongod $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod

0 comments on commit 04de909

Please sign in to comment.