LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1644|回复: 12

关于Too much work at interrupt的问题

[复制链接]
发表于 2004-5-17 15:10:19 | 显示全部楼层 |阅读模式
网吧有一个RH9的服务器用iptables作网关,120台机器,运行一段时间后就重复出现下列信息:

Apr 24 18:02:02 linux kernel: eth1: Too much work at interrupt, status=0x00000001

请问这是什么原因造成的?谢谢!
发表于 2004-5-18 01:22:45 | 显示全部楼层
好像是你的网卡工作在混杂(Promiscuous)模式下

你可以通过 # ifconfig eth1 查看一下,如果出现下面的 PROMISC 就表示是了

UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1

要禁用此模式:ifconfig eth1 -promisc

注:如果任何网络接口处于promiscuous模式下,就表示可能系统被安装了网络嗅探器
嘿嘿! 可能是有人在搞鬼哦.
 楼主| 发表于 2004-5-18 17:39:52 | 显示全部楼层
谢谢回复,我的ifconfig eth0 或 eth1 信息里都是:
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
好像不是你说的那个问题。
发表于 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).
--

希望以上信息对你有一些帮助
发表于 2004-5-20 11:21:02 | 显示全部楼层
只有3Com的网卡驱动里才有关于 "Too much work in interrupt" 的信息,不对,D-link  530TX源程序也有这个信息 3.16版本。
发表于 2004-5-20 13:50:33 | 显示全部楼层
换句话说94减少负荷?限制连接?
 楼主| 发表于 2004-5-22 11:58:15 | 显示全部楼层
谢谢,我用的是D-LINK 530TX网卡,lspci 的信息如下:
Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 43)
另外还有一个地方将近100台机器,也出现这个提示。那里是8139网卡。

另外减少负荷?这是啥意思?
 楼主| 发表于 2004-5-23 10:11:49 | 显示全部楼层
看来是破网卡驱动的问题了,8139too.c 和  via-rhine.c 里面都有这个信息,破烂网卡!
发表于 2004-5-28 12:16:40 | 显示全部楼层
我的网关服务器也出现这样的问题,用的是8139网卡和intel 网卡,不过8139网卡出现的很多,有时候刚开机就出现这个问题,真的不知道怎样解决
发表于 2004-5-29 11:14:50 | 显示全部楼层
换网卡就可以啦 。
以前我的服务器半天闹一次上不了网。
后来用了Intel服务器专用网卡。
这下好了,没那情况了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表