Provided by: trickle_1.08+ds-1.1_amd64 

NAME
trickle — a lightweight userspace bandwidth shaper
SYNOPSIS
trickle [-h] [-v] [-V] [-s] [-d rate[:schedule]] [-u rate[:schedule]] [-w length] [-t time] [-l length]
[-n path] command ...
DESCRIPTION
trickle is a userspace bandwidth manager. Currently, trickle supports the shaping of any SOCK_STREAM
(see socket(2)) connection established via the socket(2) interface. Furthermore, trickle will not work
with statically linked executables, nor with setuid(2) executables. trickle is highly configurable;
download and upload rates can be set separately, or in an aggregate fashion.
The options are as follows:
-h Displays help.
-v Increases the verbosity level (can be specified multiple times).
-V Prints version.
-s Runs trickle in standalone mode, independent of trickled(8).
-d rate[:schedule]
Limit the download bandwidth consumption to rate KB/s. The default value is 10 KB/s.
Optionally, set a schedule to follow.
-u rate[:schedule]
Limit the upload bandwidth consumption to rate KB/s. The default value is 10 KB/s.
Optionally, set a schedule to follow.
-w length Set peak detection window size to length KB. This determines how aggressive trickle is at
eliminating bandwidth consumption peaks. Lower values will be more aggressive, but may also
result in over shaping. The default value (512 KB) is usually sufficient.
-t seconds Set smoothing time to seconds s. The smoothing time determines with what intervals trickle
will try to let the application transcieve data. Smaller values will result in a more
continuous (smooth) session, while larger values may produce bursts in the sending and
receiving data. Smaller values (0.1 - 1 s) are ideal for interactive applications while
slightly larger values (1 - 10 s) are better for applications that need bulk transfer. The
default value is 3 seconds.
-l length Set smoothing length to length KB. The smoothing length is a fallback of the smoothing
time. If trickle cannot meet the requested smoothing time, it will instead fall back on
sending length KB of data. The default value is 10 KB.
-n path Use trickled(8) socket path to communicate with trickled(8). By default,
/tmp/.trickled.sock is used.
Schedules
Both the -u and -d flags accept one or more optional schedules, specified in the following form:
:[days_of_week][start_time],[end_time],[rate]
days_of_week may be any of Su M T W Th F Sa in any order. If no day is specified, the schedule will
apply for all days.
start_time is the 3-or-4-digit 24-hour local time to begin the new bandwidth schedule. For example, 1234
would mean 12:34 PM. 123 would mean 1:23 AM. 2345 would mean 11:45 PM.
end_time is the 3-or-4-digit 24-hour local time to end the bandwidth schedule.
rate is the bandwidth limit (in KB/s) that is enforced during the specified time.
Multiple schedules can be string together on the command line. If the schedules overlap, the last one
takes precident.
EXAMPLES
trickle -u 10 -d 20 ncftp
Launch ncftp(1) limiting its upload capacity to 10 KB/s, and download capacity at 20 KB/s.
trickle -d 50 -u 10:WSaSu130,145,1000:MTTh1200,300,96 rsync ...
Launch rsync(1) limiting the bandwidth as follows:
• constant 50 KB/s download limit
• 1000 KB/s upload limit between 1:30 AM and 1:45 AM on Wednesdays, Saturdays, and Sundays
• 96 KB/s upload limit between 12:00 noon and 3:00 PM on Mondays, Tuesdays, and Thursdays
• 10 KB/s upload limit otherwise
trickle -s -u 100 -d 10000:900,1700,10" wget ...
Launch wget(1) in standalone mode, limiting the bandwidth as follows:
• constant 100 KB/s upload limit
• 10 KB/s download limit between 9:00 AM and 5:00 PM all days of the week
• 10,000 KB/s download limit otherwise
SEE ALSO
trickled(8), syslog(3), socket(2), netintro(4)
AUTHORS
trickle has been developed by Marius Aamodt Eriksen ⟨marius@monkey.org⟩.
BUGS
Does not support executables utilizing kqueue(2). Does not support statically linked executables.
Debian November 10, 2002 TRICKLE(1)