wget,用--limit-rate参数可以限速,比如,wget --limit-rate=200k "{url}",可以限速200KB/s。仅限该程序的某次下载。
trickle,能给单个程序限速,"man trickle"里有这样一段话:trickle is a userspace bandwidth manager. Currently, trickle supports the shaping of any SOCK_STREAM (see socket(2)) connection established via the socket(2) interface. Furthermore, trickle will not work with statically linked executables, nor with setuid(2) executables. 确实不是所有的情况都能用,比如,能给wget限速,但是不能给java程序限速。
wondershaper,这是一个全局限速工具。"sudo zypper in wondershaper"即可安装。
在/etc/sysconfig/wondershaper配置上传下载速度限制,WSHAPER_DEV一般就填eth0,WSHAPER_DOWNLINK是下载速度,WSHAPER_UPLINK是上传速度,速度的单位都是kilobits,比如,限制下载速度到200KB/s,那WSHAPER_DOWNLINK可以设置为1600。
"sudo /etc/init.d/wondershaper {start|stop|status|restart}"用来控制运行状态。
如果是长时间的上传下载,可以把相关命令添加到crontab,便于自动控制。
tc,这个没有试过,只是看到有人提。从/etc/sysconfig/wondershaper最后的WSHAPER_QDISC_TYPE来看,wondershaper跟tc有些关系,支持的控制算法有cbq,htb,可以参考"man tc"的"CLASSFUL QDISCS"小节。
参考资料:
- <Linux 101 Hacks>
- http://unix.stackexchange.com/a/28203 || Re: How to limit network bandwidth? || Nikhil Mulley
- Easy bandwidth shaping in Linux - Author: Jwalanta Shrestha - jwalanta.blogspot.com
=文章版本=
2013110220131116
No comments:
Post a Comment