quarta-feira, 15 de julho de 2009
Limite o uso de CPU por processo
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 http://downloads.sourceforge.net/cpulimit
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:
# sudo apt-get install 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
Assinar:
Postar comentários (Atom)
Por favor, será que poderia me explicar melhor como limitar o uso de cpu por processo?
ResponderExcluirAssim, oh!
Eu já baixei o arquivo, extrai ele para a pasta arquivos de programas. ok!
e agora oq eu faço?
tem 2 arquivos um é cpulimit.txt e outro é Makefile, não compriendi, oq é esse "terminal"??
Por acaso é o executar?
oq são esses codigos e onde eu aplico eles?
Eu não uso linux, uso o Windows XP SP2.
Aguardando impacientemente!
Mk
Estou usando aqui... estava com um processo irritante consumindo meu processador e esse comando resolveu a questão!
ResponderExcluirValeu Humbertão!
ExcluirQue bom que lhe ajudou ;)
Valeu Humbertão!
ResponderExcluirQue bom que lhe ajudou ;)
trepverMmiggi Michael Kumar https://www.factorum.com.mx/profile/huldahraphaelahuldah/profile
ResponderExcluirresroribar