diff options
Diffstat (limited to 'vespabase/src/start-cbinaries.sh')
-rwxr-xr-x | vespabase/src/start-cbinaries.sh | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/vespabase/src/start-cbinaries.sh b/vespabase/src/start-cbinaries.sh index 1ef45a71dec..f17829aa081 100755 --- a/vespabase/src/start-cbinaries.sh +++ b/vespabase/src/start-cbinaries.sh @@ -163,13 +163,29 @@ configure_vespa_malloc () { fi } +configure_numa_ctl () { + numactl="" + if numactl --interleave all true &> /dev/null; then + # We are allowed to use numactl + numactl="numactl --interleave all" + if [ "$VESPA_AFFINITY_CPU_SOCKET" ]; then + numcpu=`numactl --hardware 2>/dev/null | grep available | cut -d' ' -f2` + if [ "$numcpu" ] && [ "$numcpu" -gt 1 ]; then + log_debug_message "Starting $0 with affinity $VESPA_AFFINITY_CPU_SOCKET out of $numcpu" + node=$(($VESPA_AFFINITY_CPU_SOCKET % $numcpu)) + numactl="numactl --cpunodebind=$node --membind=$node" + fi + fi + fi +} + configure_valgrind configure_huge_pages configure_use_madvise configure_vespa_malloc if $no_valgrind ; then - numactl=$(get_numa_ctl_cmd) + configure_numa_ctl ulimit -c unlimited log_debug_message "Starting $0 with : " \ $numactl env LD_PRELOAD=$LD_PRELOAD $0-bin "$@" |