Como limitar o uso de CPU de um processo específico pelo terminal imprimir

  • 0

Como limitar o uso de CPU de um processo específico pelo terminal

Fala, aluno(a)! 👋 Se você chegou até aqui, provavelmente notou que algum processo — um script seu, uma automação, um comando de importação — está "comendo" muito processador e deixando tudo mais lento. Respira fundo que a Sensei vai te ensinar, com calma, como colocar esse processo na coleira certa usando o próprio terminal (SSH).

Antes de tudo: o acesso SSH depende do seu plano de hospedagem. Se o comando ssh não conectar ou você não tiver as credenciais, dá uma olhada no painel.gehost.com.br ou fale com o suporte para confirmar se o SSH está disponível na sua conta.

1. Descubra qual processo está pesando

Conectado via SSH, o primeiro passo é identificar exatamente quem é o "vilão". Use:

  1. Digite o comando abaixo para ver os processos em tempo real, ordenados por consumo de CPU:

    top

    (Se preferir uma versão mais colorida e amigável, e ela estiver disponível no seu ambiente, experimente htop.)

  2. Anote o PID (número de identificação do processo) que aparece na primeira coluna do processo que está consumindo mais CPU.

  3. Para sair do top, aperte a tecla q.

2. Opção simples: ajustar a prioridade com nice e renice

Todo processo em Linux tem uma "prioridade de escalonamento". Quanto mais educado (nice) ele for, menos ele disputa CPU com os outros. Essa é a forma mais simples e mais compatível de reduzir o impacto de um processo, mesmo sem privilégios de administrador.

Se o processo ainda vai começar

Inicie ele já com prioridade mais baixa, colocando nice na frente do comando:

nice -n 15 ./meu-script.sh

Quanto maior o número (a escala vai até 19), menor a prioridade — ou seja, mais "gentil" o processo será com o processador.

Se o processo já está rodando

Use o renice com o PID que você anotou no passo 1:

renice -n 15 -p 1234

Troque 1234 pelo PID real do seu processo. Pronto — a prioridade dele é ajustada na hora, sem precisar reiniciar nada.

Dica da Sensei: como usuário comum (sem acesso root), você só consegue diminuir a prioridade de processos que são seus — o que já resolve a maioria dos casos de "processo comendo CPU demais".

3. Opção avançada: limitar por porcentagem com cpulimit

Se você precisa de algo mais preciso — por exemplo, travar um processo em no máximo 20% de um núcleo de CPU — a ferramenta ideal é o cpulimit. Ela funciona pausando e retomando o processo automaticamente para manter o limite definido.

  1. Verifique se ela está disponível no seu ambiente:

    which cpulimit
  2. Se aparecer um caminho (ex.: /usr/bin/cpulimit), você pode usá-la assim:

    cpulimit -p 1234 -l 20

    Isso limita o processo de PID 1234 a aproximadamente 20% de uso de CPU.

  3. Se o comando não for encontrado, ela provavelmente não está instalada no seu ambiente de hospedagem. Como planos de hospedagem compartilhada não permitem instalação de pacotes pelo próprio cliente, nesse caso o caminho é abrir um chamado com o suporte explicando o que você precisa limitar — nossa equipe avalia a melhor forma de te ajudar.

4. Encerrando um processo que fugiu do controle

Às vezes o mais sensato é simplesmente parar o processo problemático em vez de só limitá-lo. Com o PID em mãos:

kill 1234

Se ele insistir em não parar, use a versão mais firme (só como último recurso):

kill -9 1234

Resumo rápido

  • Quer só reduzir a prioridade? Use nice (ao iniciar) ou renice (já rodando).
  • Quer um limite exato em porcentagem? Use cpulimit, se disponível no seu ambiente.
  • Quer parar de vez? Use kill.
Importante: esses comandos atuam sobre processos que rodam sob o seu próprio usuário. Se mesmo depois de aplicar essas dicas o consumo de CPU continuar alto ou instável, é sinal de que vale a pena revisar o script/automação em si — e, claro, nosso suporte está sempre à disposição para te ajudar a investigar junto. 💛

Esta resposta lhe foi útil?

« Retornar