是否可以限制(限制)wget
或的下载速度curl
?
下载时是否可以更改油门值?
SIGSTOP
或ctrl + z 暂停该过程,以后再使用SIGCONT
或fg 恢复该过程。这应该暂停下载过程。
是否可以限制(限制)wget
或的下载速度curl
?
下载时是否可以更改油门值?
SIGSTOP
或ctrl + z 暂停该过程,以后再使用SIGCONT
或fg 恢复该过程。这应该暂停下载过程。
Answers:
是的,wget和curl都支持限制下载速度。手册页中直接提到了这两个选项。
--limit-rate <speed> Specify the maximum transfer rate you want curl to use. This feature is useful if you have a limited pipe and you'd like your transfer not to use your entire bandwidth. The given speed is measured in bytes/second, unless a suffix is appended. Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.
例如: curl --limit-rate 423K
--limit-rate=amount Limit the download speed to amount bytes per second. Amount may be expressed in bytes, kilobytes with the k suffix, or megabytes with the m suffix. For example, --limit-rate=20k will limit the retrieval rate to 20KB/s. This is useful when, for whatever reason, you don't want Wget to consume the entire available bandwidth.
例如: wget --limit-rate=423k
wget
也不curl
是。
wget
或curl
进程,然后使用wget -c
或恢复curl -C
。如果您确实需要重新配置正在运行的进程,请使用带有进程的细流(trickle) —但是设置有些复杂。另外,也可以研究流量整形-同样,如果设置复杂的话。
可以使用tc
和netem
工具来限制流量速率,但这将限制计算机网络接口的速率。我假设您仅使用,wget
或者curl
没有其他应用程序通过网络接口交换流量。
tc
使用令牌桶过滤器(TBF)来控制速率。
TBF的一个示例如下(参考http://www.lartc.org/manpages/tc-tbf.html):
要连接最大持续速率为0.5mbit / s,最大峰值速率为1.0mbit / s,5kb的TBF,并计算出预桶队列大小限制,因此,TBF最多导致70ms的延迟,并具有完美的峰值速率行为, 问题:
# tc qdisc add dev eth0 root tbf rate 0.5mbit \ burst 5kb latency 70ms peakrate 1mbit \ minburst 1540
usign tc和netem的另一个示例如下(在http://www.linuxfoundation.org/collaborate/workgroups/networking/netem中找到):
netem学科没有内置的速率控制,而是使用其他进行速率控制的学科之一。在此示例中,我们使用令牌桶过滤器(TBF)来限制输出。
添加通过接口eth0进入/进入每个数据包的延迟
# tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
添加以tbf为单位的数据速率,数据包缓冲区大小和最大突发限制
# tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
查看在tc中为接口eth0分配的规则列表
# tc -s qdisc ls dev eth0
上面命令的输出如下
qdisc netem 1: limit 1000 delay 100.0ms
Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
qdisc tbf 10: rate 256Kbit burst 1599b lat 26.6ms
Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
检查缓冲区和限制选项,因为您可能会发现需要更大的默认值(以字节为单位)