1#!/usr/bin/env bash 2 3echo -n "Placing all CPUs in performance mode..." 4for governor in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do 5 echo -n performance > $governor 6done 7echo "Done" 8 9echo -n "Disabling irqbalance service..." 10service irqbalance stop 2> /dev/null 11echo "Done" 12 13echo -n "Moving all interrupts off of core 0..." 14count=`expr $(nproc) / 4` 15cpumask="e" 16for ((i=1; i<$count; i++)); do 17 if [ `expr $i % 8` -eq 0 ]; then 18 cpumask=",$cpumask" 19 fi 20 cpumask="f$cpumask" 21done 22for file in /proc/irq/*/smp_affinity; do 23 echo "$cpumask" > $file 2> /dev/null 24done 25echo "Done" 26 27echo -n "Configuring kernel blk-mq for for NVMe SSDs..." 28for queue in /sys/block/nvme*n*/queue; do 29 if [ -f "$queue/nomerges" ]; then 30 echo "1" > $queue/nomerges 31 fi 32 33 if [ -f "$queue/io_poll" ]; then 34 echo "1" > $queue/io_poll 35 fi 36 37 if [ -f "$queue/io_poll_delay" ]; then 38 echo "-1" > $queue/io_poll_delay 39 fi 40done 41echo "Done" 42