Автоматическая балансировка прерываний для сетевых карт в Linux
Данный скрипт был найден в Интернет и я хочу с Вами им поделиться, так как он весьма полезен.
Скрипт "раскидывает" по очереди прерывания на все ядра системы.
Выражаем благодарность автору данного скрипта
Создаем файл скрипта
/usr/local/sbin/intel.sh
Не забываем дать ему права на запуск
Содержимое скрипта:
#!/bin/bash ncpus=`grep -ciw ^processor /proc/cpuinfo` test "$ncpus" -gt 1 || exit 1 n=0 for irq in `cat /proc/interrupts | grep eth | awk '{print $1}' | sed s/\://g` do f="/proc/irq/$irq/smp_affinity" test -r "$f" || continue cpu=$[$ncpus - ($n % $ncpus) - 1] if [ $cpu -ge 0 ] then mask=`printf %x $[2 ** $cpu]` echo "Assign SMP affinity: eth$n, irq $irq, cpu $cpu, mask 0x$mask" echo "$mask" > "$f" let n+=1 fi done
Не забываем подключить скрипт в автозагрузку вашей ОС
Пример через /etc/rc.local такой строкой.
/usr/local/sbin/intel.sh > /dev/null