1、Broadcom的網卡建議關閉GRO功能
<code>ethtool</code><code>-K eth0 gro off</code>
<code>ethtool</code><code>-K eth1 gro off</code>
<code>ethtool</code><code>-K eth2 gro off</code>
<code>ethtool</code><code>-K eth3 gro off</code>
2、關閉irqbalance服務并手動配置設定網卡中斷
<code>service irqbalance stop</code>
<code>chkconfig irqbalance off</code>
<code># 檢視網卡中斷号</code>
<code>grep</code><code>ethx </code><code>/proc/interrupts</code>
<code># 配置設定到每顆顆CPU核上</code>
<code>cat</code><code>/proc/irq/</code><code>{84,85,86,87,88,89,90,91,92,93}</code><code>/smp_affinity</code><code>(下面</code><code>echo</code><code>的值從此擷取)</code>
<code>echo</code><code>1 > </code><code>/proc/irq/84/smp_affinity</code>
<code>echo</code><code>2 > </code><code>/proc/irq/85/smp_affinity</code>
<code>echo</code><code>4 > </code><code>/proc/irq/86/smp_affinity</code>
<code>echo</code><code>8 > </code><code>/proc/irq/87/smp_affinity</code>
<code>echo</code><code>10 > </code><code>/proc/irq/88/smp_affinity</code>
<code>echo</code><code>20 > </code><code>/proc/irq/89/smp_affinity</code>
<code>echo</code><code>40 > </code><code>/proc/irq/90/smp_affinity</code>
<code>echo</code><code>80 > </code><code>/proc/irq/91/smp_affinity</code>
<code>echo</code><code>100 > </code><code>/proc/irq/92/smp_affinity</code>
<code>echo</code><code>200 > </code><code>/proc/irq/93/smp_affinity</code>
3、開啟網卡的RPS功能 (Linux核心2.6.38或以上版本支援)
<code># Enable RPS (Receive Packet Steering)</code>
<code>rfc=4096</code>
<code>cc=$(</code><code>grep</code><code>-c processor </code><code>/proc/cpuinfo</code><code>)</code>
<code>rsfe=$(</code><code>echo</code><code>$cc*$rfc | </code><code>bc</code><code>)</code>
<code>sysctl -w net.core.rps_sock_flow_entries=$rsfe</code>
<code>for</code><code>fileRps </code><code>in</code><code>$(</code><code>ls</code><code>/sys/class/net/eth</code><code>*</code><code>/queues/rx-</code><code>*</code><code>/rps_cpus</code><code>)</code>
<code>do</code>
<code>echo</code><code>fff > $fileRps</code>
<code>done</code>
<code>for</code><code>fileRfc </code><code>in</code><code>$(</code><code>ls</code><code>/sys/class/net/eth</code><code>*</code><code>/queues/rx-</code><code>*</code><code>/rps_flow_cnt</code><code>)</code>
<code>echo</code><code>$rfc > $fileRfc</code>
<code>tail</code><code>/sys/class/net/eth</code><code>*</code><code>/queues/rx-</code><code>*/{rps_cpus,rps_flow_cnt}</code>
獻上一個完整的腳本:
<code>vi</code><code>/opt/sbin/change_irq</code><code>.sh</code>
<code>#!/bin/bash</code>
<code>cat</code><code>/proc/irq/</code><code>{84,85,86,87,88,89,90,91,92,93}</code><code>/smp_affinity</code>
<code>chmod</code><code>+x </code><code>/opt/sbin/change_irq</code><code>.sh</code>
<code>echo</code><code>"/opt/sbin/change_irq.sh"</code><code>>> </code><code>/etc/rc</code><code>.</code><code>local</code>
<code>PS:記得修改網卡中斷号,别直接拿來用哦</code>
<a href="http://navyaijm.blog.51cto.com/4647068/1334671">http://navyaijm.blog.51cto.com/4647068/1334671</a>
<a href="http://hi.baidu.com/higkoo">http://hi.baidu.com/higkoo</a>
本文轉自 liang3391 51CTO部落格,原文連結:http://blog.51cto.com/liang3391/1335366