找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 18928|回复: 26

小内存路由跑DDWRT大负载情况下提高稳定性的探索

  [复制链接]
发表于 2012-7-18 16:48 | 显示全部楼层 |阅读模式
本帖最后由 ice5221 于 2012-7-18 22:21 编辑

我用的是Dlink DIR-300

CPU Atheros AR2317
内存 16兆
ROM 8兆
这个配置我运行DDWRT非常勉强,空闲情况下,路由器只有9%的可用内存。


如果再开个迅雷或者BT之类的软件,就更是捉襟见肘啦。为了能够在DIR-300上面运行wiwiz................

这几天忽然想到,能不能在现有内存的基础上尽量节省一些呢。

先用top命令查看一下到底哪些进程消耗资源最多。不看不知道,如果访问web页面的话,httpd占用约10%的CPU。

再用cat /proc/××××命令查看一下httpd进程实时占用内存的情况即便路由器闲置的时候,httpd进程也占用了1兆多的内存。xxxx表示httpd进程的PID

如果使用了DDNS功能的话,还会额外消耗412k的内存。

如果使用了CRON功能呢,还会消耗320KB内存

于是,在telnet中,kill掉上述3个进程,可以节省近2000KB内存。

在需要的时候,从telnet来启动需要的进程,如HTTPD

×××××××××××××××××××××华丽分割××××××××××××××××××××××××
参见插图



上图是执行top命令的结果,为了避免部分朋友看不懂这个结果,做一个简单的说明:
第一行:为cpu使用总体情况
第二行:为内存使用总体情况
第三行:"Load average" 也就是平时我们在ddwrt的web页面中看到的系统负载,通常情况下,我们认为Load average<cpu核心数×cpu个数×0.7,换句话说,如果你的Load average已经高于0.7,那么你的路由器负载就已经比较高了。
第四行往下,我就不说了,这个很容易看懂。

大家从截图可以看到,我已经kill了httpd,ddns,cron三个进程。(别问我这三个进程是干什么的!我只能告诉你,一般情况下没啥用。)

我要重点说的是,从截图可以看到,我的第一行cpu!最后一个数据 SIRQ 值已经达到了85.3%。这个SIRQ表示系统软中断,或者叫数据包转发率。达到这个85.3的时候,我的路由器是10兆光纤迅雷+BT满负荷下载。

所以我认为,要保持路由器的稳定性,同时运行wiwiz,就要保证转发率SIRQ这个值不能过高,现在能想到的方法是通过tc+iptables这个组合。

××××××××××××××××××××以上内容编写于2012-07-18 22:08×××××××××××××××××××××××××

今天先写到这里,老婆催我洗澡睡觉啦~    :)
顺便请问大家一下,ttraff进程是干什么的?

××××××××××××××××××××我爱分割线×××××××××××××××××××××××××

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2012-7-18 16:50 | 显示全部楼层
回复看看。。。
发表于 2012-7-18 17:07 | 显示全部楼层
也回复看看。。。
 楼主| 发表于 2012-7-19 16:34 | 显示全部楼层
这个帖子如果没人看的话,我就自己研究不忘论坛发了。毕竟像我这样的垃圾路由用户比较少。大家都是有钱人嘛~
发表于 2012-7-19 17:52 | 显示全部楼层
本帖最后由 bsctv 于 2012-7-19 17:55 编辑
ice5221 发表于 2012-7-19 16:34
这个帖子如果没人看的话,我就自己研究不忘论坛发了。毕竟像我这样的垃圾路由用户比较少。大家

ttraff -----守护进程,流量统计,可以关闭。

換内存麻烦,而且都不是有钱人嘛 ...
发表于 2012-7-20 10:18 | 显示全部楼层
对于wiwiz,crond服务不能停,否则有影响。对其他的服务也可能有影响。
我觉得,其实内存往往不是最大的瓶颈,cpu也是问题,所以才会造成负荷的上升。

我还觉得问题不是在Wiwiz,其实Wiwiz本身不占多少资源。问题可能是出在你的路由器自身的性能。可能是带机量的问题。还有就是有些路由器,用的人少的时候没问题,但是一旦连接多了或者流量大的时候容易出问题。你可以用iptables做一下限速试试。
发表于 2012-8-3 14:26 | 显示全部楼层
其实我是比较在乎内存大小对脱机下载的影响
发表于 2012-8-3 23:06 | 显示全部楼层
回复看看。。。
 楼主| 发表于 2012-8-4 08:44 | 显示全部楼层
bsctv 发表于 2012-7-19 17:52
ttraff -----守护进程,流量统计,可以关闭。

換内存麻烦,而且都不是有钱人嘛 ...

如果是单纯的流量统计,那确实没啥用。我从来不担心自己产生了多少流量。

就怕这个进程身兼多职。
 楼主| 发表于 2012-8-4 08:45 | 显示全部楼层
brickall 发表于 2012-7-20 10:18
对于wiwiz,crond服务不能停,否则有影响。对其他的服务也可能有影响。
我觉得,其实内存往往不是最大的瓶 ...

这个路由器果然不能完成dd+wiwiz的重任。

sirq的占用率太高了。 高负荷情况下立马崩溃。
 楼主| 发表于 2012-8-4 08:52 | 显示全部楼层
shanchuid 发表于 2012-8-3 14:26
其实我是比较在乎内存大小对脱机下载的影响

测试结果验证了,内存不是核心问题,内存不足,也能运行。但是cpu运算能力不足,可真是耽误事儿呀。
发表于 2012-8-4 09:14 | 显示全部楼层
内存不足依然会引起程序异常崩溃。这种问题在nw618 刷TT上就碰到了。

32M内存的dlink600 b2,tp841 v3偶记得刷过的dd 14xxx系列版本都可以使用linux下的释放内存的方法恢复内存。但是nw618不行,可能本身内存就少固件就少编绎了东西进去。目前情况最好的是dlink600(关闭无线情况)可以正常恢复,而tp841仍然会随着使用时间越长实际可用内存越来越少。以前针对这个内存问题而做的脚本

  1. root@onlyit:/tmp# cat free*
  2. #!/bin/sh
  3. sync;sleep 3;echo 3 > /proc/sys/vm/drop_caches;sleep 3;echo 0 > /proc/sys/vm/dro
  4. p_caches
  5. echo "`(date +"%m/%d/%Y %T")` `free | grep "Total" | awk 'BEGIN{ORS=""}{ print "
  6. Memory Space : Total "$2 " KB";print " Used "$3" KB";print " Free "$4" KB\012";}
  7. '`" >> /tmp/log
  8. left=`free | grep "Total" | awk '{print $NF}'`;if [ $left -lt 10240 ] ;then rebo
  9. ot;fi
  10. root@onlyit:/tmp# cat log|grep free
  11. root@onlyit:/tmp# cat free*
  12. #!/bin/sh
  13. sync;sleep 3;echo 3 > /proc/sys/vm/drop_caches;sleep 3;echo 0 > /proc/sys/vm/dro
  14. p_caches
  15. echo "`(date +"%m/%d/%Y %T")` `free | grep "Total" | awk 'BEGIN{ORS=""}{ print "
  16. Memory Space : Total "$2 " KB";print " Used "$3" KB";print " Free "$4" KB\012";}
  17. '`" >> /tmp/log
  18. left=`free | grep "Total" | awk '{print $NF}'`;if [ $left -lt 10240 ] ;then rebo
  19. ot;fi
  20. root@onlyit:/tmp# cat log|grep Total
  21. 07/30/2012 06:05:07 Memory Space : Total 29600 KB Used 7144 KB Free 22456 KB
  22. 07/31/2012 06:05:06 Memory Space : Total 29600 KB Used 7144 KB Free 22456 KB
  23. 08/01/2012 06:05:06 Memory Space : Total 29600 KB Used 7108 KB Free 22492 KB
  24. 08/02/2012 06:05:07 Memory Space : Total 29600 KB Used 7168 KB Free 22432 KB
  25. 08/03/2012 06:05:06 Memory Space : Total 29600 KB Used 7176 KB Free 22424 KB
  26. 08/04/2012 06:05:07 Memory Space : Total 29600 KB Used 7800 KB Free 21800 KB
  27. root@onlyit:/tmp# nvram get cron_jobs
  28. 5 6 * * * root /tmp/free_dato.sh
  29. root@onlyit:/tmp#
复制代码


发表于 2012-8-4 18:09 | 显示全部楼层
在DD-WRT里关闭一些服务也可以的,比如USB,DDNS,FTP,SSH,按需设置
 楼主| 发表于 2012-8-5 20:48 | 显示全部楼层
msvcp60 发表于 2012-8-4 18:09
在DD-WRT里关闭一些服务也可以的,比如USB,DDNS,FTP,SSH,按需设置

设备没有usb

ddns ftp ssh都没有开启

我路由器cpu是183兆赫 16兆内存。
发表于 2012-8-31 08:01 | 显示全部楼层
现在16M内存的机子还真的是不多了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-16 15:54

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

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