Linux

Limitar o uso da CPU do chrome ou outros processos no Linux com cpulimit

Recentemente eu me deparei com uma situação onde os processos do Chrome estavam consumindo praticamente toda CPU do meu servidor.

Isso poderia estar sendo causado pela própria versão do Chrome ou por alguns serviços que estariam sendo executados nele.

Para resolver o problema de forma provisória até que a correção definitiva possa ser aplicada, eu instalei um limitador de CPU chamado cpulimit.

Isso mesmo, um executável que pode definir um percentual máximo de CPU que um serviço ou processo pode utilizar.

Para iniciar, eu sugiro que você use o top instale o htop (caso ainda não esteja instalado), para que você possa monitorar os processos com maior precisão e poder fazer um comparativo entre o antes de depois.

Bash
dnf install htop

Após instalado, basta digitar htop para monitorar.

Usando o htop no Linux 1

A imagem acima mostra o consumo de CPU antes de instalar o limitador (cpulimit).

Agora faça a instalação do cpulimit.

Bash
dnf install cpulimit

Após instalado, aqui estão as opções e argumentos que podem ser utilizados. Observe o os processos podem ser limitados pelo nome ou pelo PID.

Bash
[root@server ~] # cpulimit --help
Usage: cpulimit [OPTIONS...] TARGET
   OPTIONS
      -l, --limit=N          percentage of cpu allowed from 0 to 200 (required)
      -v, --verbose          show control statistics
      -z, --lazy             exit if there is no target process, or if it dies
      -i, --include-children limit also the children processes
      -h, --help             display this help and exit
   TARGET must be exactly one of these:
      -p, --pid=N            pid of the process (implies -z)
      -e, --exe=FILE         name of the executable program file or path name
      COMMAND [ARGS]         run this command and limit it (implies -z)

Report bugs to <marlonx80@hotmail.com>.

Agora sim, vamos limitar os processos do chrome em 10%.

Bash
[root@server ~] # cpulimit -e chrome -l 10
Process 1359 found

Agora vamos executar o htop novamente para ver como ficou.

Usando o htop no Linux 2

Para facilitar o uso, eu criei um pequeno script para iniciar o serviço sempre que o servidor for iniciado.

Bash
#!/bin/bash
echo "Iniciando o cpulimit ..."
/usr/bin/cpulimit -e chrome -l 10 &
exit
#FIM

Em seguida coloquei esta linha na inicialização do sistema.

Bash
/root/scripts/cpulimit.sh >/dev/null 2>&1

Pronto, esta é a maneira mais simples que eu encontrei para controlar o consumo de CPU de determinados serviços ou processos.

Espero ter contribuído.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *