# sysctl -a | grep net.isr
net.isr.numthreads: 3
net.isr.maxprot: 16
net.isr.defaultqlimit: 256
net.isr.maxqlimit: 10240
net.isr.bindthreads: 0
net.isr.maxthreads: 3
net.isr.direct: 0
net.isr.direct_force: 0
last pid: 46125; load averages: 1.26, 1.30, 1.33 up 0+12:43:57 22:16:07
222 processes: 6 running, 198 sleeping, 18 waiting
CPU 0: 3.7% user, 0.0% nice, 11.1% system, 9.9% interrupt, 75.3% idle
CPU 1: 0.0% user, 0.0% nice, 2.5% system, 37.0% interrupt, 60.5% idle
CPU 2: 2.5% user, 0.0% nice, 1.2% system, 34.6% interrupt, 61.7% idle
CPU 3: 1.2% user, 0.0% nice, 6.2% system, 27.2% interrupt, 65.4% idle
Mem: 258M Active, 1662M Inact, 201M Wired, 316K Cache, 112M Buf, 1777M Free
Swap: 4096M Total, 4096M Free
PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 155 ki31 0K 32K CPU3 3 525:10 76.61% {idle: cpu3}
11 root 155 ki31 0K 32K RUN 2 520:14 76.37% {idle: cpu2}
11 root 155 ki31 0K 32K CPU0 0 509:33 75.68% {idle: cpu0}
11 root 155 ki31 0K 32K RUN 1 518:15 71.14% {idle: cpu1}
12 root -72 - 0K 152K CPU1 1 269:13 35.25% {swi1: netisr 0}
12 root -72 - 0K 152K WAIT 3 174:30 19.97% {swi1: netisr 2}
12 root -92 - 0K 152K WAIT 0 108:13 12.55% {irq256: re0}
12 root -72 - 0K 152K WAIT 2 84:00 12.55% {swi1: netisr 3}
13 root -16 - 0K 32K sleep 3 48:04 4.10% {ng_queue0}
13 root -16 - 0K 32K sleep 0 48:04 4.05% {ng_queue2}
13 root -16 - 0K 32K sleep 3 48:06 4.00% {ng_queue3}
13 root -16 - 0K 32K sleep 0 48:02 4.00% {ng_queue1}
46124 cacti 26 0 11960K 3480K select 0 0:00 0.83% snmpget
46078 cacti 45 0 23716K 16432K piperd 1 0:00 0.73% php
46089 cacti 46 0 11116K 2836K piperd 2 0:00 0.73% perl5.10.1
46090 root 46 0 9728K 1952K select 3 0:00 0.73% sudo
46116 cacti 27 0 11960K 3592K select 0 0:00 0.63% snmpwalk
46123 cacti 52 0 11116K 2824K piperd 0 0:00 0.63% perl5.10.1
6989 root 21 0 13408K 5576K select 3 16:51 0.54% snmpd
46073 cacti 52 0 23716K 16440K piperd 2 0:00 0.54% php
46091 root 21 0 9672K 1512K select 0 0:00 0.44% ping
Как видно, работают все ядра, но вот в этой ситуации:
net.isr.bindthreads=0
net.isr.direct=1
net.isr.direct_force=1
net.isr.maxthreads=3
#top -SIHP
last pid: 14902; load averages: 1.92, 2.12, 1.96 up 0+17:47:31 19:59:04
226 processes: 12 running, 197 sleeping, 17 waiting
CPU 0: 0.6% user, 0.0% nice, 1.2% system, 88.3% interrupt, 9.8% idle
CPU 1: 1.8% user, 0.0% nice, 29.4% system, 0.0% interrupt, 68.7% idle
CPU 2: 3.7% user, 0.0% nice, 30.7% system, 0.0% interrupt, 65.6% idle
CPU 3: 3.1% user, 0.0% nice, 25.8% system, 0.0% interrupt, 71.2% idle
Mem: 264M Active, 1641M Inact, 272M Wired, 832K Cache, 112M Buf, 1721M Free
Swap: 4096M Total, 4096M Free
PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
12 root -92 - 0K 152K CPU0 0 354:30 96.78% {irq256: re0}
11 root 155 ki31 0K 32K RUN 1 929:16 77.83% {idle: cpu1}
11 root 155 ki31 0K 32K RUN 3 922:41 72.95% {idle: cpu3}
11 root 155 ki31 0K 32K RUN 2 904:02 71.63% {idle: cpu2}
13 root -16 - 0K 32K CPU3 1 71:11 18.65% {ng_queue1}
13 root -16 - 0K 32K RUN 1 71:10 18.36% {ng_queue3}
13 root -16 - 0K 32K RUN 3 71:18 17.63% {ng_queue0}
13 root -16 - 0K 32K RUN 1 71:11 17.14% {ng_queue2}
11 root 155 ki31 0K 32K RUN 0 682:25 10.55% {idle: cpu0}
55709 root 20 0 13408K 5840K select 2 15:50 1.71% snmpd
14902 cacti 33 0 11960K 3480K select 1 0:00 1.12% snmpget
14864 cacti 46 0 11116K 2836K piperd 3 0:00 1.12% perl5.10.1
14867 root 46 0 9728K 1956K select 3 0:00 1.12% sudo
Работает только одно ядро. т.е. выходит, что одно ядро привязывается к одной сетевухе
через время будет вторая сетевуха, попробую провести тесты.
В вашей ситуации вы можете попробовать установить
net.isr.direct_force=0
тогда, опять же из постов на форумах, вроде как, будет передаваться обработка в другие ядра, если это первое загружено. Я это не тестировал.
в моём же случае я только оттюнил net.isr.maxthreads: 3. Как работает вы видите. Будет ли превышен лимит, который был достигнут при direct and force =1 посмотрим.