No estas registrado.

#1 2013-06-02 20:36:55

Joaquin
Tuxes
Registrado: 2013-05-31
Mensajes: 8

[Resuelto]Limitar ancho de banda de aplicaciones automáticamente

Hola a todos. Soy un fiel lector del blog desde hace un tiempo, pero participo poco (sólo un post y algunos comentarios).
Tengo un problema para el cual necesito una solución muy específica y en Internet no encontré nada de lo que busco, sólo algunos programas que podrían resolverlo parcialmente.

SITUACIÓN
Tengo un plan de Internet de 512Kbs, por lo tanto hago uso de Transmission como cliente torrent para descargar archivos grandes (LibreOffice, algunas distros de GNU/Linux). Como verán las descargas demoran bastante y el problema es al usar el navegador Firefox. Tarda bestante en cargar.

Cuando me conecto a Internet, pauso Transmission y espero a que cargue Firefox, luego arranco nuevamente los torrents a 75KB de subida y bajada (lo máximo que puedo llegar). A veces limito la descarga a 30KB pero tengo la sospecha de que Transmission me ocupa todo el ancho de banda: Firefox carga bien sólo cuando detengo todas las descargas.

POSIBLE SOLUCIÓN
Es un problema tener que activar/desactivar Transmission cada 10 min., por lo que se me ocurrió buscar un programa que haga esto automáticamente. Es decir: cuando abro el navegador, a Transmission se le baja el consumo de ancho de banda (por ejemplo a 20KB de subida y bajada) hasta que carguen las páginas web, luego vuelve a la normalidad.

Sólo encontré dos aplicaciones:

-Trickle: permite limitar el ancho de banda de una aplicación (creo que hay un post aquí sobre el mismo)

-Nethogs: muestra en pantalla los procesos que más ancho de banda consumen (como hace «top» con el cpu)

Entonces pensé en hacer un script que haga lo que describí arriba.

PROBLEMAS
Tengo problemas con las aplicaciones mencionadas anteriormente.

-Trickle: no permite cambiar los valores sin detener/iniciar la aplicación. Por ejemplo, si quiero que Transmission trabaje a 30KB de subida y 20 de bajada:

$ trickle -u 30 -d 20 transmission

Pero para volver a cambiarlos tendría que detener el proceso, cambiar los valores y volver a iniciarlo. El problema es que cada vez que se inicia Transmission hace una verificación de los torrents y vuelve a pedir los datos. O sea se corta la transmisión.

-Nethogs: sólo se ejecuta como root y no se si tiene un bug o por su funcionamiento no me permite redirigir su salida. Ejemplo:

# nethogs | grep transmission

La salida se deforma, no es limpia y me muestra el siguiente error "Waiting for first packet to arrive (see sourceforge.net bug 1019381)"

Si redirijo hacia un archivo (nethogs > archivo) tengo el mismo error y el archivo se ve así (pego sólo una parte)

[?1049h[1;24r(B[m[4l[?7hEthernet link detected
[H[2J[H[2JNetHogs version 0.7.0

(B[0;7m  PID USER     PROGRAM                      DEV        SENT      RECEIVED       [4;1H(B[m0     root     unknown TCP[4;56H0.000[68G0.000 KB/sec

Además escribe entre medio de algunas palabras, como un caracter no imprimible que dice "ESC" y acá no se ve.

(Por ejemplo: ESC[?1049hESC[1;24rESC(BESC[m[4lESC[?7hEthernet link detected)


DATOS DEL SISTEMA

Debian Squeeze 6.0.7
Linux 2.6.32-5-686
Nethogs: version 0.7.0
Trickle: version 1.07

Bueno eso es todo. No les pido que me den la solución lista para funcionar, pero al menos que me den una idea de lo que se puede hacer o qué harían ustedes. Se que está difícil la cosa. Muchas gracias!

Ultima edición por Joaquin (2013-10-15 19:25:36)

Desconectado

#2 2013-10-15 19:27:44

Joaquin
Tuxes
Registrado: 2013-05-31
Mensajes: 8

Re: [Resuelto]Limitar ancho de banda de aplicaciones automáticamente

Encontré la solución y la publiqué en http://linux.systeminside.net/script-ba … ticamente/
Pueden ver el script terminado:  http://paste.desdelinux.net/4872

Desconectado

Pie de página

Powered by FluxBB