Имеется машина DELL 1950 с нагрузкой ~300мбит. Сетевые bce. Большая нагрузка на процессор. Порядка 50-60%. Поллинг не включен, т.к. не нашел в мануале поддержки драйвера bce. Все данные ниже. Как еще можно оптимизировать тазик?# cat /var/run/dmesg.boot | grep CPU
CPU: Intel(R) Xeon(R) CPU 5160 @ 3.00GHz (2995.54-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs# cat /var/run/dmesg.boot | grep broad
bce0: <Broadcom NetXtreme II BCM5708 1000Base-T (B2)> mem 0xf4000000-0xf5ffffff irq 16 at device 0.0 on pci8
bce1: <Broadcom NetXtreme II BCM5708 1000Base-T (B2)> mem 0xf8000000-0xf9ffffff irq 16 at device 0.0 on pci4# uname -a
FreeBSD billing 8.2-STABLE FreeBSD 8.2-STABLE #0: Fri Sep 16 10:03:58 UTC 2011 morfey@border:/usr/obj/usr/src/sys/kernel_15.09.2011 amd64
#top -SI
last pid: 91450; load averages: 1.36, 1.65, 1.66 up 79+01:20:51 19:15:38
182 processes: 8 running, 152 sleeping, 4 zombie, 18 waiting
CPU: 4.7% user, 0.0% nice, 14.6% system, 27.4% interrupt, 53.3% idle
Mem: 1242M Active, 5163M Inact, 1182M Wired, 168M Cache, 827M Buf, 154M Free
Swap: 13G Total, 13G FreePID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 4 171 ki31 0K 64K RUN 0 6223.2 223.63% idle
12 root 19 -68 - 0K 304K CPU1 1 572.3H 120.90% intr
2256 root 8 44 -19 161M 114M select 0 239.2H 31.64% stargazer
0 root 9 -68 0 0K 128K CPU2 2 263.7H 21.97% kernel
42721 root 1 45 0 54132K 20524K bpf 1 875:22 1.46% bandwidthd
42720 root 1 44 0 129M 101M bpf 0 500:01 0.88% bandwidthd
42718 root 1 44 0 84852K 67012K bpf 1 398:59 0.49% bandwidthd
42719 root 1 44 0 103M 87368K bpf 3 391:52 0.49% bandwidthd
2243 mysql 32 45 0 583M 224M ucond 1 1:11 0.29% mysqld
4942 root 1 44 0 409M 389M select 0 639:15 0.10% snmpd
#top -SPH
last pid: 91458; load averages: 1.60, 1.67, 1.66 up 79+01:21:44 19:16:31
189 processes: 8 running, 160 sleeping, 4 zombie, 17 waiting
CPU 0: 19.5% user, 0.0% nice, 21.1% system, 0.0% interrupt, 59.4% idle
CPU 1: 4.5% user, 0.0% nice, 2.3% system, 55.6% interrupt, 37.6% idle
CPU 2: 29.9% user, 0.0% nice, 32.8% system, 0.7% interrupt, 36.6% idle
CPU 3: 0.7% user, 0.0% nice, 0.7% system, 54.5% interrupt, 44.0% idle
Mem: 1250M Active, 5173M Inact, 1186M Wired, 168M Cache, 827M Buf, 132M Free
Swap: 13G Total, 13G FreePID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 171 ki31 0K 64K RUN 0 1563.5 76.37% {idle: cpu0}
12 root -68 - 0K 304K CPU1 1 316.2H 62.99% {irq258: bce1}
12 root -68 - 0K 304K CPU3 3 256.1H 59.57% {irq256: bce0}
11 root 171 ki31 0K 64K RUN 2 1557.2 52.29% {idle: cpu2}
11 root 171 ki31 0K 64K RUN 3 1581.4 41.16% {idle: cpu3}
11 root 171 ki31 0K 64K RUN 1 1521.0 36.47% {idle: cpu1}
2256 root 45 -19 161M 114M select 0 206.0H 27.98% {stargazer}
0 root -68 0 0K 128K CPU2 2 263.7H 26.27% {dummynet}
2256 root 44 -19 161M 114M nanslp 2 33.2H 5.66% {stargazer}
42721 root 45 0 54132K 20524K bpf 2 875:23 2.10% bandwidthd
42720 root 45 0 129M 101M bpf 3 500:02 1.07% bandwidthd# netstat 1
input (Total) output
packets errs idrops bytes packets errs bytes colls
117364 0 0 100963681 109065 0 78067830 0
115534 1 0 95310033 108081 0 77508486 0
118905 0 0 100751621 110631 0 77324120 0
114405 0 0 97566245 106469 0 74868269 0
113041 0 0 94742233 105986 0 75852308 0
# vmstat -i
interrupt total rate
irq1: atkbd0 36 0
irq3: uart1 4502 0
irq4: uart0 2063262 0
irq14: ata0 57 0
irq20: uhci1 6671236 0
irq21: uhci0 uhci2+ 6701482 0
cpu0: timer 13409457593 1963
irq256: bce0 40776737159 5969
irq257: mpt0 165433421 24
irq258: bce1 55568239632 8135
cpu3: timer 13403403721 1962
cpu2: timer 13403403434 1962
cpu1: timer 13409449068 1963
Total 150151564603 21982# cat /etc/sysctl.conf
net.inet.ip.intr_queue_maxlen=5000
kern.ipc.maxsockbuf=8388608
kern.ipc.nmbclusters=65000
#kern.polling.idle_poll=1
net.inet.udp.blackhole=1
net.inet.icmp.icmplim=50
kern.ipc.somaxconn=32768
net.inet.tcp.log_in_vain=0
net.inet.udp.log_in_vain=0
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.ip.fastforwarding=1
net.inet.ip.portrange.randomized=0
net.inet.tcp.nolocaltimewait=1
net.inet.icmp.drop_redirect=1
net.inet.ip.redirect=0
net.inet.tcp.drop_synfin=1
net.inet.icmp.icmplim=2000
net.inet.flowtable.enable=0
up
Посмотрите на calomel.org. Там есть статейки про тюнинг.
> upПоллинг не найдете, потому что он утратил актуальность еще с 7 ветки. Вдобавок, ваши бродкомы поддерживают интеррапт-коалесцинг, что должно снижать нагрузку на систему. Это не считая других оффлоадов, вроде подсчета контрольных сумм пакетов.
Нужно анализировать траффик. Если у вас много мелких пакетов, то картина вполне логичная.