Доброго дня!
Стоит в сервере внешняя 4-х портовая сетевень i350
При 400 мегабитах top говорит:
Cpu0 : 8.0%us, 0.0%sy, 0.0%ni, 13.4%id, 0.0%wa, 0.0%hi, 78.6%si, 0.0%st
Cpu1 : 4.0%us, 0.0%sy, 0.0%ni, 18.4%id, 0.0%wa, 0.0%hi, 77.6%si, 0.0%st
Cpu2 : 0.7%us, 0.0%sy, 0.0%ni, 18.0%id, 0.0%wa, 0.0%hi, 81.3%si, 0.0%st
Cpu3 : 3.3%us, 0.3%sy, 0.0%ni, 20.1%id, 0.0%wa, 0.0%hi, 76.3%si, 0.0%st
Cpu4 : 4.0%us, 0.3%sy, 0.0%ni, 17.3%id, 0.0%wa, 0.0%hi, 78.4%si, 0.0%st
Cpu5 : 0.0%us, 0.0%sy, 0.0%ni, 20.7%id, 0.0%wa, 0.0%hi, 79.3%si, 0.0%st
Cpu6 : 2.0%us, 0.3%sy, 0.0%ni, 19.9%id, 0.0%wa, 0.0%hi, 77.7%si, 0.0%st
Cpu7 : 0.7%us, 0.3%sy, 0.0%ni, 14.1%id, 0.0%wa, 0.0%hi, 84.9%si, 0.0%sе
Как видно si - soft interrupts в среднем 80%
Работает под последним 4.12 рекомендованным драйвером igb с параметрами:
[br]options igb IntMode=2,2,2,2 RSS=8,8,8,8 QueuePairs=0,0,0,0 InterruptThrottleRate=4000,4000,4000,4000[br]
tx-rx очереди объединены. Отдельные очереди эффекта не дали. Сейчас по 8 очередей на интерфейс, по паре очередей повешено на каждое ядро типа tx-rx0/tx-rx7 tx-rx1/tx-rx6
sysctl.conf
net.netfilter.nf_conntrack_max=5242880
net.ipv4.neigh.default.gc_thresh3=4096
net.ipv4.neigh.default.gc_stale_time=240
net.ipv4.tcp_syn_retries=1
net.ipv4.tcp_keepalive_probes=5
net.ipv4.neigh.default.gc_thresh1=1280
net.core.netdev_max_backlog=2048000
net.ipv4.conf.default.rp_filter=1
net.ipv4.ip_dynaddr=1
net.ipv4.tcp_max_tw_buckets=1440000
net.ipv4.tcp_moderate_rcvbuf=1
net.core.somaxconn=26214400
kernel.panic=10
net.ipv4.tcp_orphan_retries=1
net.ipv4.tcp_syncookies=1
net.ipv4.ip_forward=1
net.ipv4.tcp_synack_retries=1
net.nf_conntrack_max=5242880
net.ipv4.tcp_window_scaling=0
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
net.ipv4.tcp_rmem = 8192 8388608 16777216
net.ipv4.tcp_wmem = 8192 4194394 16777216
net.core.wmem_default = 4194394
net.core.rmem_default = 8388608
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_keepalive_intvl=15
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_sack=0
net.ipv4.neigh.default.gc_thresh2=2048
Ядро Linux gw2 2.6.35.106.i686.PAE
Больше 500 мегабит маршрутизатор реально не пропускает. На сервере поднят BGP OSPF и он также натит всё, что касается серых адресов.
Подскажите, куда копать - загруку CPU убрать и как следствие вернуть пропускную способность?
Я уже склоняюсь к мысли преустановить всё к чертям... на 3.8 ядро, дистриб там сейчас староват...