Trickle
trickle 是一个便携式轻量级的用户空间带宽整形工具,可以协同模式(与 trickled 一起)或独立模式运行。
它通过预加载自己的套接字库包装器来工作,通过延迟数据来限制流量。
Trickle 完全在用户空间中运行。 [1]
安装
用法
警告
- 生成大量流量但通过 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