万贤 发表于 2007-11-28 10:52:29

公司linux做的路由器经常死机是怎么回事?谢谢大家了

我刚来公司做网管,有台linux服务器做网关路由功能,但是说每个3—5天就会死一次机。我刚着手来检查这台机器,不知道哪里出了问题
# lsb_release -a
LSB Version:    1.3
Distributor ID: FedoraCore
Description:    Fedora Core release 3 (Heidelberg)
Release:      3
Codename:       Heidelberg
# top
10:47:45up 4 days, 18:11,8 users,load average: 0.21, 0.42, 0.33
158 processes: 156 sleeping, 2 running, 0 zombie, 0 stopped
CPU0 states:   0.2% user   1.0% system    0.0% nice   0.0% iowait98.2% idle
CPU1 states:   4.2% user   3.2% system    0.0% nice   0.0% iowait91.4% idle
Mem:1030032k av, 1021056k used,    8976k free,       0k shrd,356420k buff
                  773200k actv,    2420k in_d,   21936k in_c
Swap: 2040244k av,334904k used, 1705340k free                  303380k cached

# uname -a
Linux linux 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux

能帮我想想是哪里问题么?谢谢

[ 本帖最后由 万贤 于 2007-11-28 10:55 编辑 ]

情灭缘尽 发表于 2007-11-29 14:31:29

debian:~# uptime
14:35:58 up 38 days, 1 min,1 user,load average: 0.36, 0.23, 0.14
debian:~# uname -a
Linux debian 2.6.21-2-686 #1 SMP Wed Jul 11 03:53:02 UTC 2007 i686 GNU/Linux
debian:~# top
top - 14:36:22 up 38 days, 1 min,1 user,load average: 0.31, 0.23, 0.14
Tasks:76 total,   1 running,75 sleeping,   0 stopped,   0 zombie
Cpu(s):0.7%us,0.2%sy,0.0%ni, 97.3%id,1.7%wa,0.0%hi,0.0%si,0.0%st
Mem:    256748k total,   221416k used,    35332k free,    41808k buffers
Swap:   771080k total,    23984k used,   747096k free,    81356k cached

这是我的,这算是短的了,以前开过大半年没问题的

情灭缘尽 发表于 2007-11-29 14:32:48

不知道你死机是因为硬件还是软件,就你那几句话,神仙才知道为什么死机
如果硬件没问题,你要稳定和高速,用gentoo编译一个出来吧,绝对爽

jk0wg 发表于 2007-11-29 15:07:21

楼主你的路由器带了多少台机器? 路由器上跑了些什么服务?

从你提供的信息来看. 路由器的内存明显不够用了.   如果路由器提供服务多或者带的客户机多.可以尝试加内存看看还会不会死机?

万贤 发表于 2007-11-29 15:41:30

原帖由 jk0wg 于 2007-11-29 15:07 发表 http://bbs.routerclub.com/images/common/back.gif
楼主你的路由器带了多少台机器? 路由器上跑了些什么服务?

从你提供的信息来看. 路由器的内存明显不够用了.   如果路由器提供服务多或者带的客户机多.可以尝试加内存看看还会不会死机?

你好,谢谢你的回复,三十多台电脑吧,我之前头儿跟我说3-5天死机,现在也都4天多了,还没有出现死机

万贤 发表于 2007-11-29 15:45:17

谢谢“ 情灭缘尽”的回复:

现在不太清楚是硬件还是软件原因,大概应该是软件。能有一些排查的方法么?现在公司靠这个路由维持网络呢,不能再装个gentoo编译出一个了

jk0wg 发表于 2007-11-29 20:00:39

楼主从内存占用方面来检查吧.你才30台就占用那么多内存? 你看看我150台的内存占用情况:

[ 本帖最后由 jk0wg 于 2007-11-29 20:03 编辑 ]

万贤 发表于 2007-11-30 11:47:11

谢谢大家回复,因为开apache服务要做很多测试,可能是http服务器问题,这台机器1G内存是有一点小。我中午加到2G看看一段时间效果如何吧~~thx all the reply

[ 本帖最后由 万贤 于 2007-11-30 14:17 编辑 ]

jk0wg 发表于 2007-11-30 17:06:37

你的意思是在路由器上提供WEB服务啊?    内存占用多的时候.看看路由器的吞吐量如何?

下一个sysstat-4.0.7-4.i386.rpm安装后.使用sar -n DEV 2 5查看网络的吞吐量.
看看下面的输入结果是多少?
cat /proc/sys/net/ipv4/ip_conntrack_max
如果上面的输出为一万多.那么做以下的修改:
echo "net.ipv4.ip_conntrack_max = 26843546" >/etc/sysctl.conf

[ 本帖最后由 jk0wg 于 2007-11-30 17:08 编辑 ]

bg6cq 发表于 2007-12-1 22:32:44

以下几个方面要修改:
1. ps ax 看是哪个进程占用了内存,如果是snmpd,停之.
   如果是httpd,修改/etc/httpd/conf/httpd.conf里面的
    MaxRequestsPerChild 为 200
   service httpd restart重新启动apache

2. 最好使用REDHAT AS或CentOS, 能支持下面参数的修改

modprobe ip_conntrack hashsize=8192
modprobe ip_conntrack_ftp

iptables -F
echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout
echo 10> /proc/sys/net/ipv4/netfilter/ip_conntrack_icmp_timeout
echo 1200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo 10> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait
echo 10> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
echo 10> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait
echo 5   > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv
echo 5   > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_sent
echo 10> /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout
echo 60> /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout_stream

1G内存的机器,别说是30台机器,就是1000台也够用了

DreamCat 发表于 2007-12-4 14:24:02

很可能是硬件问题。或者你重新编译个内核看看。

万贤 发表于 2007-12-4 14:35:50

原帖由 jk0wg 于 2007-11-29 20:00 发表 http://bbs.routerclub.com/images/common/back.gif
楼主从内存占用方面来检查吧.你才30台就占用那么多内存? 你看看我150台的内存占用情况:


加到2G后,内存又都被系统占用了~~这是怎么回事???
Mem:2064188k av, 2023720k used,   40468k free,       0k shrd,632920k buff

万贤 发表于 2007-12-4 14:36:25

原帖由 jk0wg 于 2007-11-30 17:06 发表 http://bbs.routerclub.com/images/common/back.gif
你的意思是在路由器上提供WEB服务啊?    内存占用多的时候.看看路由器的吞吐量如何?

下一个sysstat-4.0.7-4.i386.rpm安装后.使用sar -n DEV 2 5查看网络的吞吐量.
看看下面的输入结果是多少?
cat /proc/sys/ne ...

我已经修改了原来是6w多

万贤 发表于 2007-12-4 14:40:07

原帖由 DreamCat 于 2007-12-4 14:24 发表 http://bbs.routerclub.com/images/common/back.gif
很可能是硬件问题。或者你重新编译个内核看看。

机器基本不能关,所以基本最好不能改动什么,公司唯一一台路由器,坏了就麻烦了

jk0wg 发表于 2007-12-22 00:50:20

找出是什么进程占用的内存资源.
页: [1] 2
查看完整版本: 公司linux做的路由器经常死机是怎么回事?谢谢大家了