Programação e Linux.

quarta-feira, 21 de janeiro de 2009

Limitar banda de um aplicativo no linux

As vezes você quer fazer um download mas não quer que ele consuma toda a sua banda, alguns softwares permitem isto, outros não, como limitar a banda destes aplicativos? A resposta é trickle.

O trickle é um gerenciador de banda em espaço de usuário, qualquer programa que faça uso da system call socket pode ser capturado pelo trickle. As taxas de download e upload podem ser configuradas independentemente.

Para instalar o trickle no Ubuntu faça:
sudo apt-get install trickle

O trickle pode ser usado no modo standalone e no modo server. Para usar no modo mais simples (standalone) é só chamar:
trickle -s [-d <maximo-download-kb>] [-u <maximo-upload-kb>] <programa> [args...]

A opção -s é para forçar o modo standalone, caso o servidor do trickle (trickled) esteja rodando, o padrão (sem a opção -s) é primeiro tentar usar o modo server depois o modo standalone. Então ela é opcional caso não exista servidor.

Exemplo para fazer o download do firefox usando o wget e limitar ele a 20KB/s faça:
trickle -s -d 20 wget 'http://download.mozilla.org/?product=firefox-3.0.5&os=linux&lang=en-US'

O trickle é muito útil para fazer uma atualização do Ubuntu e limitar a taxa de download, para não sobrecarregar o link de internet :
sudo apt-get update && sudo trickle -s -d 20 apt-get -y --force-yes upgrade

Sítio do trickle: http://monkey.org/~marius/trickle/

4 comentários:

Unknown disse...

Olá,

Otima postagem, parabéns! :)

[]'s
Silvio Clécio

Anônimo disse...

Ótima postagem, porém gostaria de contribuir com o seguinte:

Para limitar banda no wget basta usar a opção "--limit-rate", por exemplo: --limit-rate=20k

Para limitar banda no apt basta incluir o seguinte arquivo no /etc/apt/apt.conf.d:

Acquire {
Queue-mode "access";
http {
Dl-Limit 20;
}
}

Nesse exemplo está limitando a 20k.

Um forte abraço.

Unknown disse...

Obrigado Antonio .

Como mencionei no post, alguns softwares permites limitar banda e outros não.

O apt e wget permitem limitar neles mesmos como você mostrou nos exemplos :D

Will disse...

por exemplo, tenho ubuntu instalado na maquina aqui, mas gostaria que o seguinte:

quando eu abrisse o firefox, ele so usasse 40kbps da minha banda.. o resto ficasse para os jogos.. axo q com esse nao da certo.. pq eu tentei e nao consegui