Limitando o uso da CPU com o CPULIMIT

Publicado por Dailson Fernandes (fofão) - http://www.dailson.com.br em 30/11/2009

[ Hits: 26.570 ]

 


Limitando o uso da CPU com o CPULIMIT



O cpulimit é um simples programa que limita o uso da cpu por um processo (expresso em porcentagem, e não por tempo de cpu). Isso é útil para controlar jobs em batch quando você não quer permitir que estes consumam muita cpu.

Ele não age sobre o valor nice ou qualquer outra coisa relacionada ao agendamento de processos. E também é capaz de se adaptar à carga do sistema, dinamicamente e rapidamente.

Para usar o cpulimit, primeiro faça o download em:
e extraia os arquivos, use o terminal para ir até a pasta dele e:

# make
# cp cpulimit /usr/local/sbin/
# rm -rf cpulimit*


Usuários Ubuntu: tudo que você tem que fazer é abrir o terminal e digitar:

# apt-get install cpulimit

Usando o CPULIMIT

Exemplos do cpulimit.

Limitar o processo "bigloop" através do nome do executável para 40% de CPU:

# cpulimit -e bigloop -l 40
# cpulimit -e /usr/local/bin/bigloop -l 40


Para o Firefox você tem que digitar:

# cpulimit -e firefox -l 40

Limita o processo pelo PID pra 55% de CPU:

# cpulimit -p 2960 -l 55

Inicializa um processo por linha de comando e o limita para 40% (apenas na versão em desenvolvimento!):

# cpulimit -l 40 /etc/rc.d/rc.boinc start

Para descobrir o PID de uma aplicação, simplesmente digite isso em um terminal:

Para todas as aplicações que estão rodando:

# ps -e

Para uma aplicação específica (por exemplo o Firefox):

# pidof firefox

Notas:

Se a sua máquina tem um processador, você pode limitar a porcentagem de 0% a 100%, o que significa que se você setar por exemplo em 50%, o seu processo não pode usar mais do que 500ms de tempo de cpu para cada segundo. Mas se sua máquina possuir quatro processadores, a porcentagem pode variar de 0% a 400%, então setando o limite para 200% significa não usar mais do que metade da potência. Em qualquer caso, a porcentagem é a mesma que você vê quando executa um top.

O cpulimit deve rodar pelo menos com o mesmo usuário que está rodando o processo controlado, mas é muito melhor se você rodar o cpulimit como root, para que se tenha uma prioridade mais alta e um controle mais preciso.

Atualmente o cpulimit também limita os processos filhos (children) do processo especificado.

Traduzido do artigo: http://webupd8.blogspot.com/2009/05/limit-cpu-usage-by-process-linux.html

Esta tradução foi gentilmente elaborada pelo meu colega de trabalho:

Rennê Lyra
Engenheiro de Software

E lembrem-se:

flames > /dev/null

Até a próxima!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Servidor VMware 2.0.2 em Debian Squeeze 6.0.0 (64 bits)

Entenda o uso de profiles no Funtoo

Configurando Wireless no GNU/Linux

Como saber se um programa esta instalado no Debian

DhcpWeb 2.0

  

Comentários
[1] Comentário enviado por batista em 01/12/2009 - 13:52h

muito boa esta dica!!!!! vou testar..



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts