quarta-feira, 7 de novembro de 2012

Cpulimit no Raspberry Pi

E o artigo de hoje é na realidade uma especie de truque de magia que tem feito com que o meu pequeno Raspberry Pi rode os programas que tenho instalado no Raspbian. O MySQL a rolar ao mesmo tempo que o SABnzbd, mais o Sickbeard e ainda com visualizações de media através de redes samba partilhadas pelo RPi... só é mesmo possível por causa desta aplicação chamada de Cpulimit, que é cinco estrelas.

Este Cpulimit é uma aplicação que limita a carga que um processo faz sobre o CPU. O Cpulimit não mata nem fecha aplicações, apenas agarra nesses processos e não deixa que ocupem demasiado o CPU.
Esta aplicação encontra-se nos repositórios oficiais do Raspbian e pode ser instalada com o seguinte comando:

apt-get install cpulimit

Depois para configurar pode ser feito da seguinte maneira:

cpulimit -e par2 -l 70

E explicando o comando em cima estou a limitar o processo par2 em 70% do CPU. 

Também pode ser feito através da PID... assim:

cpulimit -p 2145 -l 70


Um dos problemas relacionados com o hardware do RPi é uma determinada aplicação começar a usar a totalidade do CPU não restando nada para os processos secundários. Com isso o RPi começa a deixar de responder por largos minutos até bloquear. O Cpulimit evita que isso aconteça se inteligentemente limitarmos o uso do CPU a uma determinada aplicação/processo.

Na logica isso deverá fazer com que por exemplo o processo par2 leve mais tempo com o CPU limitado a 70% do que a 90%. Mas o que interessa é ter o RPi sempre pronto a responder a este e aquele serviço.

Com base na explicação que dei, os seguintes comando são alguns exemplos que adicionei ao ficheiro rc.local:

cpulimit -e par2 -l 80 &
cpulimit -e mysqld -l 60 &
cpulimit -e unrar -l 60 &
cpulimit -e transmission-daemon -l 40 &
cpulimit -e python -l 60 &

Nota:
A escolha da percentagem a limitar no caso do RPi é de 0 a 100%, isto porque o Raspberry só tem um processador. Para outras maquinas com dual-core é de 0 a 200% e quad-core é até 400%.

Este é pois o mais valioso artigo que escrevo para o Raspberry Pi ;)

Mais tutoriais para o RPi:

4 comentários:

  1. Muito bom!

    Tenho mesmo de inventar tempo para mexer no rpi.

    ResponderEliminar
    Respostas
    1. Este Cpulimit faz-me lembrar os tempos do meu Asus N10 com processador Atom. Na altura usava o Firefox, e este com meia duzia de tabs abertos bastava para ele ficar sem resposta largos minutos!

      Este programinha pode ser util em muitas maquinas e até naquelas mais potentes para processar videos. Um achado!

      Eliminar
  2. Isto é interessante, mas é possivel ser dinâmico?
    Por ex. quando nao estou a usar o pi como media certer, apenas para torrentbox, o transmission pode usar 90% do CPU. No entanto, quando vou para o XBMC, convinha descer para os 10% e dedicar o CPU todo para o XBMC. Será possivel?

    Obrigado.

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...

Popular no Blogue: