限制特定外壳的Internet带宽使用


21

我想在一个外壳中更新我的Linux,但默认情况下,更新程序中的wget或axel使用所有带宽。

如何限制此外壳的速度?

我希望其他shell能够公平共享,并限制该shell中的所有内容-就像代理!

我使用Zsh和Arch Linux。

这个问题侧重于流程范围或会话范围的解决方案。请参阅如何限制网络带宽?适用于Linux上的系统级或容器级解决方案。

Answers:


22

看一下细微的用户空间带宽整形器。只需用细流启动外壳并指定速度,例如:

trickle -d 100 zsh

试图将在此Shell内启动的所有程序的下载速度限制为100KB / s。

由于使用le流,因此它LD_PRELOAD不适用于静态链接程序,但这对大多数程序而言都不是问题。


请注意,它仅限于SOCK_STREAMS套接字,因此不会影响UDP流量。
斯特凡·查泽拉斯


2

用于手册页wget提供了以下信息:

 --limit-rate=amount

将下载速度限制为每秒字节数。金额可以字节为单位,后缀为k的千字节,或后缀m的兆字节。例如,--limit-rate = 20k会将检索速率限制为20KB / s。无论出于何种原因,您都不希望Wget消耗整个可用带宽时,此功能很有用。


更新问题:我希望所有应用程序都受限制,而不仅限于wget
Mohammad Efazati 2012年

@Efazati:对不起,我一般不知道如何设置它。我仅将其用于wget和apt-get。
马可·丹尼尔

不要担心男人,只是想回答;)
穆罕默德·埃法扎蒂
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.