Trickle

来自 ArchWiki

trickle 是一个便携式轻量级的用户空间带宽整形工具,可以协同模式(与 trickled 一起)或独立模式运行。

它通过预加载自己的套接字库包装器来工作,通过延迟数据来限制流量。

Trickle 完全在用户空间中运行。 [1]

安装

安装 trickleAUR 软件包。

用法

警告
  • 生成大量流量但通过 Web 界面(流量很小)控制的程序,其 Web 界面流量也会受到限制。这意味着它们几乎无法访问。
  • Trickle 只能限制不 fork 的程序的流量,因此以这种方式整形 FTP 服务器的流量将不起作用。

如果你正在运行守护进程(见下文),只需在任何程序前面加上 "trickle" 即可

# trickle pacman -Syu

否则,还要指定上传和下载限制以及其他配置选项(有关更多信息,请参阅 trickle(1))。

# trickle -s -d200 -u50 pacman -Syu

修改其他 systemd 服务

修改所需 systemd 服务的 ExecStart,附加 /usr/bin/trickle。例如

ExecStart=/usr/bin/daemon

更改为

ExecStart=/usr/bin/trickle /usr/bin/daemon

当使用独立模式时,还要添加 #用法 中描述的配置选项。 重启守护进程,现在应该已经整形了带宽。

与 rsync 一起使用

不要在 rsync 命令前面加上 trickle(这将不起作用,因为 rsync 可能会 fork ssh 进程),而是这样调用 rsync

rsync --rsh="trickle -d 10 -u 10 ssh" SRC DEST

守护进程配置

如果你想使用 trickled 进行应用程序特定的设置,请创建可选的 /etc/trickled.conf 文件,如 trickled.conf(5) 手册页中所述。例如

[ssh]
Priority = 1
Time-Smoothing = 0.1
Length-Smoothing = 2
[ftp]
Priority = 8
Time-Smoothing = 5
Length-Smoothing = 20