diff options
author | Mike Fiedler <miketheman@gmail.com> | 2012-02-28 12:10:49 -0500 |
---|---|---|
committer | Mike Fiedler <miketheman@gmail.com> | 2012-02-28 12:10:49 -0500 |
commit | 04de9098bb96c61c083d7a55215e604522ab132d (patch) | |
tree | 85a718885a5fe1407c3158fc07ec1a5823810fda | |
parent | 451dccb3ec7801b0929a870f30adaf2f78286922 (diff) | |
download | mongo-04de9098bb96c61c083d7a55215e604522ab132d.tar.gz |
SERVER-3574 updating init scripts for numa
-rw-r--r-- | debian/init.d | 12 | ||||
-rw-r--r-- | rpm/init.d-mongod | 16 |
2 files changed, 25 insertions, 3 deletions
diff --git a/debian/init.d b/debian/init.d index 59e94ae51d6..f2cfb7d08ac 100644 --- a/debian/init.d +++ b/debian/init.d @@ -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 } diff --git a/rpm/init.d-mongod b/rpm/init.d-mongod index e9a6202ad9c..376f82a33a2 100644 --- a/rpm/init.d-mongod +++ b/rpm/init.d-mongod @@ -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 |