trickle
—
a lightweight userspace bandwidth shaper
trickle |
[-h ] [-v ]
[-V ] [-s ]
[-d rate]
[-u rate]
[-w length]
[-t time]
[-l length]
[-n path]
command ... |
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
- Limit the download bandwidth consumption to rate
KB/s.
-u
rate
- Limit the upload bandwidth consumption to rate
KB/s.
-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.
-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.
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
has been developed by Marius Aamodt Eriksen
⟨marius@monkey.org⟩.
Does not support executables utilizing
kqueue(2).
Does not support statically linked executables.