限制特定 shell 的互联网带宽使用

限制特定 shell 的互联网带宽使用

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

我怎样才能限制这个shell的速度?

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

我使用 Zsh 和 Arch Linux。

这个问题重点关注进程范围或会话范围的解决方案。看如何限制网络带宽?适用于 Linux 上的系统范围或容器范围的解决方案。

答案1

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

trickle -d 100 zsh

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

由于trickle的使用,LD_PRELOAD这不适用于静态链接程序,但这对于大多数程序来说不是问题。

答案2

http://lartc.org/wondershaper/

它位于 Ubuntu / Debian 存储库中,也可能位于其他存储库中。它限制的不仅仅是单个外壳,而是整个机器。虽然我自己从未尝试过

答案3

手册页wget提供以下信息:

 --limit-rate=amount

将下载速度限制为每秒字节数。数量可以用字节、千字节(带 k 后缀)或兆字节(带 m 后缀)来表示。例如,--limit-rate=20k 将限制检索速率为 20KB/s。当您出于某种原因不希望 Wget 消耗整个可用带宽时,这非常有用。

相关内容