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
当使用独立模式时,还要添加如 #Usage 中所述的配置选项。重启守护进程,它现在应该已经整形了带宽。
与 rsync 结合使用
不要将 trickle 放在 rsync 命令前面(这不起作用,因为 rsync 可能会 fork ssh 进程),而是像这样调用 rsync:
rsync --rsh="trickle -d 10 -u 10 ssh" SRC DEST
守护进程配置
如果你想在 trickled 中使用特定于应用程序的设置,请按照 trickled.conf(5) man 页面的说明创建可选的 /etc/trickled.conf 文件。例如:
[ssh] Priority = 1 Time-Smoothing = 0.1 Length-Smoothing = 2 [ftp] Priority = 8 Time-Smoothing = 5 Length-Smoothing = 20