
Si algo tiene Linux y el software libre es que nos permite exprimir al máximo los recursos disponibles.
Lo que les voy a presentar son dos herramientas muy útiles.
Ancho de banda escaso?. Trickle al rescate.
Trickle trabaja en capa de aplicación y se encarga de limitar el uso del ancho de banda de subida como de bajada de un programa que le especifiquemos.
Se encuentra disponible en los repositorios de las distribuciones mas popular.
Por ejemplo para instalarlo en distros basadas en debian lo único que tienen que hacer con derechos de administrador es:
apt-get install trickle
Tiene dos modos de uso, el primero es limitar directamente un programa, especificando cuánto ancho de banda queremos.
La seguna opción es a través del demonio trickled por lo que nos quedaría una configuración global para todas las aplicaciones.
Vamos a un ejemplo práctico.
Cuantas veces nos paso que se nos ocurre actualizar el sistema y notamos que toma todo el ancho disponible para la operación.
Entonces lo que podemos hacer es lo siguiente desde una consola:
trickle -d 12 apt-get upgrade
La sintaxis es simple: le estamos indicando a apt-get que proceda al upgrade del sistema pero utilizando 12Kbps de bajada.
Una de las ventajas de trickle es que puede ejecutarse en espacio de usuario sin necesidad de ser root.
Una opción interesante es parametrizar el sistema para diferentes servicios tocando la configuración del demonio trickled ubicada en /etc/trickled.conf
El formato del archivos es el siguiente:
[servicio]
Priority = <valor>
Time-Smoothing = <valor>
Length-Smoothing = <valor>
Los servicios con un bajo valor númerico obtendrán más ancho de banda que los servicios con valores más altos.
Time-Smoothing se define en segundos y tiene como finalidad definir los intervalos de tiempo que tickled utiliza para permitir a la aplicación transmitir datos.
Cuanto menor sea el valor, más suave se sentirá la sesión.
Por ejemplo, supongamos que limitamos la transferencia por FTP a 50Kbps, y establecemos el tiempo de suavizado en 1 segundo. Vamos a obtener una velocidad de transferencia de 50Kbps exactamente. Si aumentamos el tráfico de suavizado a un valor más alto (15 segundos, por ejemplo), la tasa de transferencia puede variar entre 40 y 60Kbps. Con limitaciones diferentes obtendrá números diferentes.
Length-Smoothing se define como el tiempo de reserva de suavizado. Es decir, si tickled no puede cumplir con el tiempo de suavizado solicitado, puede recurrir a enviar el número de KB de datos especificados aquí. Si no se especifica ningún valor, el valor predeterminado es 10Kbps.
Veamos un ejemplo de configuracion para que quede claro:
[ssh]
Priority = 1
Time-Smoothing = 0.1
Length-Smoothing = 1
[ftp]
Priority = 8
Time-Smoothing = 5
Length-Smoothing = 20
[www]
Priority = 2
Time-Smoothing = 0.1
Length-Smoothing = 2
En el ejemplo le estamos dando a ssh un valor numérico de prioridad baja, lo que significa que el trafico de ssh en el sistema tiene una prioridad alta. Time-Smoothing y Length-Smoothing tienen un valor bajo porque no queremos una respuesta lenta cuando se trabaja en una sesion ssh remota.
También le di alta prioridad para la navegación web, de modo de poder experimentar una experiencia más suave. FTP le di la prioridad más baja debido a que la descarga de material es menos importante para mí.
Se dispara la CPU a tal punto que podemos hacer un huevo frito sobre ella?. Empecemos a limitar su uso.
Una buena utilidad en estos casos es CPULimit.
Esta practica aplicación de línea de comando nos permite limitar el % de CPU que puede utilizar un proceso.
se puede limitar por nro de PID o por nombre de proceso.
También se encuentra disponible en la mayoría de las distribuciones
Para instalarlo en distros basadas en debian la operación es sencilla:
apt-get install cpulimit
Un ejemplo práctico es limitar al navegador Firefox, que muchas veces es el culpable de que se nos dispare la CPU al 100% viendo alguna pagina sobrecargada de flash o viendo un video en youtube.
cpulimit –e firefox –limit 30
En este caso estoy indicando que Firefox no debe pasarse del 30% de utilización de la cpu.
Mi recomendación es que vayan probando con las aplicaciones que mas usan y una vez que encuentran los valores adecuados, armen lanzadores en el escritorio para que les sea más cómodo utilizarlas.
Como podrán ver con unos simples pasos se puede optimizar el uso tanto de CPU y ancho de banda.
ESTE TEXTO SE PUBLICA BAJO LICENCIA CREATIVE COMMONS BY-NC-SA 2.5 AR.

Por lo tanto, usted es libre de: 1) Copiarlo, distribuirlo y exhibirlo. 2) Hacer obras derivadas. Bajo las siguientes condiciones: 1) Debe dar atribución mencionando el nombre del autor y del LUG Zona Norte. En caso de las notas que no llevan firma, mencionar sólo el nombre del LUG.
2) Usted no puede usar esta obra con fines comerciales. 3) Si usted altera, transforma, o crea sobre este texto, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.
Más detalles y texto legal de la licencia en:http://creativecommons.org/licenses/by-nc-sa/2.5/ar
#1 by petato on 22/08/2009 - 11:58
Genial! voy a ponerme a probar