|
|
发表于 2004-5-19 13:37:18
|
显示全部楼层
我查了一下Linux的源代码里关于网卡驱动的信息
(我用的是RHEL 3 AS,内核是2.4.21-4.EL)
# cd /usr/src/linux-2.4.21-4.EL/drivers/net
# for i in `ls -l|grep -v ^d|awk '{print $9}'`
do
grep "Too much work in interrupt" $i &>/dev/null && echo "$i" >> /tmp/msg
done
# cat /tmp/msg
3c515.c
3c59x.c
只有3Com的网卡驱动里才有关于 "Too much work in interrupt" 的信息
下面是引用新闻组上关于这个问题的一些见解:
> Themessage is produced by drivers for some 3Com cards (3c59x, 3c515,
> 3c574_cs). I'm guessing that your driver is the usual 3c59x.
> In other words, the driver has a built-in mechanism to avoid holding the
> CPU for ever during an interrupt, as may happen on a slow machine with a
> fast and very busy NIC (either under normal operation or during a
> denial-of-service attack). You can of course increase max_interrupt_work,
> but you may then find that the kernel spends all its time servicing the
> network, with increased latencies for everything else. Still, I doubt
> there is anything canonical about 32 as opposed to, say, 64; the
> optimum is probably hardware- and workload-dependent. So tune away.
>
> As to why this is happening to your server: if there is a lot of network
> activity (especially lots of small packets), that may be enough of a reason.
> Look at your packet and byte counts on the interface.
>
> There are plenty of people *seeing the same message*, but that doesn't
> mean they have the same *problem* (assuming that you do in fact have a
> problem; I'm not quite sure of that).
--
希望以上信息对你有一些帮助 |
|