TRICKLED(8)

πŸ“¦
version 1.08 Β· 3 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– TRICKLED(8) β€” the trickled manual page, bestie edition πŸ’–

okay so first things first: this is the page for trickled, and it lives in the System Manager's Manual section, so it's a big-deal daemon page. she's giving system administration realness. let's get into it ✨


✨ NAME ✨

trickled β€” userspace bandwidth manager daemon πŸŽ€


🌸 SYNOPSIS 🌸

trickled [-h] [-v] [-V] [-f] [-s] [-d rate[:schedule]]
         [-u rate[:schedule]] [-t seconds] [-l length] [-p priority]
         [-c file] [-n path] [-N seconds] [-w size]

πŸ’… DESCRIPTION πŸ’…

so trickled is a userspace bandwidth manager daemon, no cap. what that means is: she manages a whole bunch of trickle(1) sessions at the same time, and she does the shaping across all of them together. multiple sessions, one glow-up, one bandwidth budget. iconic.

here's every option, and yes we're doing all of them:

  • -v β€” turns the verbosity up. you can pass this one multiple times if you want her to be extra chatty. πŸ“’
  • -V β€” prints the version. short and sweet.
  • -f β€” runs trickled in the foreground, like a main character who refuses to leave the room.
  • -s β€” uses syslog for all output instead of stderr. so everything goes to the log instead of yelling into your terminal.
  • -d rate[:schedule] β€” caps the download bandwidth consumption at rate KB/s. optionally you can tack on a schedule for her to follow. πŸ¦‹
  • -u rate[:schedule] β€” same deal but for upload: limit the upload bandwidth consumption to rate KB/s. optionally, set a schedule to follow.
  • -t seconds β€” sets the smoothing time to seconds s. now what even is smoothing time? it's the thing that determines with what intervals trickled will try to let the application transcieve data. smaller values = a more continuous (smooth) session, slay. larger values = you might get bursts in the sending and receiving data, kinda jumpy ngl. 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. and you can customize this on a per-application basis via trickled.conf(5). default is 5 s. ⭐
  • -l length β€” sets the smoothing length to length KB. the smoothing length is basically a fallback for the smoothing time: if trickled cannot meet the requested smoothing time, she'll instead fall back on sending length KB of data. default is 10 KB.
  • -p priority β€” sets the default priority to priority.
  • -c file β€” use the configuration file file. this file must be in the format documented over in trickled.conf(5). no freestyling the format, bestie.
  • -n path β€” sets the socket name to path. by default, trickled uses /tmp/.trickled.sock. 🧚
  • -N seconds β€” notifies the user of total bandwidth consumption every seconds s. lil progress check-ins, we love that.
  • -w size β€” sets the peak detection window size to size KB. this determines how aggressive trickled is at eliminating bandwidth consumption peaks. lower values = more aggressive, but she might also end up over shaping (⚠️ so don't get too greedy with it). the default value (512 KB) is usually sufficient.

πŸ—“οΈ Schedules πŸ—“οΈ

both the -u and -d flags accept one or more optional schedules, and they look exactly like this:

:[days_of_week][start_time],[end_time],[rate]
  • days_of_week can be any of Su M T W Th F Sa, in any order you like. if you don't specify a day at all, the schedule applies to 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.

you can string multiple schedules together on the command line. and if the schedules overlap? the last one takes precedent. so order matters, don't forget that. πŸ™ˆ


🌈 EXAMPLES 🌈

example one

trickled -u 10 -d 20

limit aggregate trickle(1) upload bandwidth consumption to 10 KB/s and download consumption to 20 KB/s. simple, clean, ate.

example two

trickled -d 50 -u 10:WSaSu130,145,1000:MTTh1200,300,96

limit aggregate trickle(1) bandwidth consumption 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

example three

trickled -s -u 100 -d 10000:900,1700,10

limit aggregate trickle(1) bandwidth consumption 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 πŸ‘€

trickle(1), trickled.conf(5), syslog(3), netintro(4)


πŸ‘‘ AUTHORS πŸ‘‘

trickled has been developed by Marius Aamodt Eriksen ⟨marius@monkey.org⟩. king behavior, we stan. πŸ’œ


so yeah that's the whole page bestie, every flag, every schedule, every default. go shape some bandwidth, you got this 🫢

that's a wrap! this page comes from the Debian crew, dated February 27, 2003 β€” vintage but still slaying. bye bestie! πŸ’–βœ¨