Limitando o uso da CPU com o CPULIMIT

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

[ Hits: 27.233 ]

 


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

Tutorial de instalação do serviço de FTP no Debian 9.3 (Stretch)

Pacotes base para compilações no Conectiva

Trabalhando com transações com PHP e MySQL

Compiz no Debian 6

Curso básico de Ubuntu Desktop Linux Mint e GNS3

  

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