Trickle: limitare la larghezza di banda delle applicazioni su Ubuntu

Creato il 30 aprile 2012 da Ronin117
Trickle è un software da riga di comando, in grado di limitare/controllare velocemente la larghezza di banda, in upload e download, esclusivamente delle applicazioni che utilizzano il protocollo TCP.  Esso, inoltre, agisce su tutti gli applicativi che utilizzano   le librerie dinamiche Glibc. Per sapere se un determinato software può essere gestito dall'utility,  basta usare il comando ldd:
ldd /percorso/eseguibile/programma | grep libc.so
dove a /percorso/eseguibile/programma dobbiamo sostituire il path dell'eseguibile considerato se l'output restituito è simile al seguente (nell'esempio ho usato transmission)
 ldd /usr/bin/transmission-gtk | grep libc.so
 libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6a1d000)
allora non dovrebbero esserci problemi. Vediamolo all'azione allora: supponiamo di voler effettuare il download del cd di Ubuntu 12.04 (conoscendo già l'indirizzo dell'immagine da scaricare) da terminale grazie awget e di voler limitare la banda in download a 20kbps: da shell quindi daremo: 
trickle -d 20 wget http://releases.ubuntu.com/precise/ubuntu-12.04-desktop-i386.iso


in pratica abbiamo detto a trickle di limitare la banda in download al programma wget , con il parametro -d, a 20 kbps. Potremmo limitare anche il flusso in upload aggiungendo il parametro -u
trickle -d 20 -u 20 wget http://releases.ubuntu.com/precise/ubuntu-12.04-desktop-i386.iso
Non solo. Abbiamo la possibilità di creare dei lanciatori personalizzati con il limite di banda già impostato. Se vogliamo, ad esempio, crearne uno per firefox (sulla scrivania nell'esempio seguente) da terminale digitiamo:
gnome-desktop-item-edit --create-new /home/NomeUtente/Scrivania
dove a NomeUtente sostituiamo il nostro nome utente. Il campo comando del lanciatore va compilato come nell'immagine sotto, per avere il browser limitato a 20 kbps in download. Chiaramente il valore del limite, così come l'applicazione da usare, possono essere scelti come più ci aggrada.

Se desideriamo invece limitare la banda a tutte le applicazioni indifferentemente (sempre a 20 kbps nel nostro esempio), dovremmo usarlo in deamon mode digitando da terminale:
sudo trickled -d 20 -u 20
C'è la possibilità di impostare criteri personalizzati per ogni servizio che bisogna limitare, attraverso la modifica del file trickled.conf , editabile aprendolo da terminale con il comando
gksu gedit /etc/trickled.conf
esso appare, di default, come sotto (con due applicazioni già configurate e da decommentare all'occorrenza - ssh e ftp -):
# this file is an example for a system-wide or personal settings file 
# for trickle (see manual pages for trickle, trickled and trickled.conf
# below are two examples that should be self-explaining

# [ssh]
# Priority = 1
# Time-Smoothing = 0.1
# Length-Smoothing = 2
# [ftp]
# Priority = 8
# Time-Smoothing = 5
# Length-Smoothing = 20
  • tra parentesi quadre è inserito il nome del servizio da configurare
  • Priority: numero che stabilisce la priorità del servizio rispetto agli altri; più basso è il numero, maggiore è la priorità e quindi la lunghezza di banda assegnata allo stesso;
  • Time-Smoothing, valore espresso in secondi che definisce l'intervallo di tempo entro il quale l'applicazione trasmette/riceve dati;
  • Lenght-Smoothing espresso in Kbps, rappresenta il limite di banda di fallback,  impostato di default a 10Kbps.
Quando eseguito, trickle verificherà dapprima se il demone trickled è in azione, leggendo eventualmente quanto scritto nel  file trickled.conf, annullandone le opzioni contenute, nel caso in cui lo stesso venga lanciato con altri specifici  parametri. Bene,se vogliamo quindi installare trickle, da terminale digitiamo
sudo apt-get install trickle

Per approfondimenti possiamo consultare il manuale dell'autore, scaricabile da qui.
Alla prossima.
fonti: tuxradar.com nwlinux.com

Potrebbero interessarti anche :

Possono interessarti anche questi articoli :