Como limitar o uso de CPU de um processo específico pelo terminal
Olá! 👋 Se você chegou até aqui, provavelmente notou que algum script, processo em segundo plano ou rotina automatizada está consumindo mais CPU do que deveria — e quer dar uma "segurada" nele sem precisar matar o processo por completo. Ótima pergunta! Vamos com calma, passo a passo, que no final você vai entender exatamente como isso funciona. 🧘
Antes de tudo: entenda o cenário
Na hospedagem GeHost (ambiente cPanel), os recursos do servidor já são gerenciados de forma compartilhada e balanceada entre as contas — isso ajuda a manter tudo estável para todo mundo. Ainda assim, dentro da sua própria conta, você pode ajustar a prioridade de processos que você mesmo executa via terminal (SSH), como scripts personalizados, tarefas de importação/exportação de dados, ou rotinas que você sobe manualmente.
Importante: nem todo plano tem acesso SSH liberado por padrão. Se ao tentar conectar você não conseguir acesso, entre em contato com o suporte da GeHost ou verifique as opções disponíveis no painel.gehost.com.br para confirmar se o SSH está habilitado na sua conta.
Passo 1 — Conecte-se via SSH
Abra o terminal do seu computador (ou um cliente como PuTTY, se estiver no Windows) e conecte-se normalmente com os dados de acesso da sua hospedagem:
- Use o usuário e a senha (ou chave) fornecidos para o SSH da sua conta.
- Se tiver dúvida de qual porta ou endereço usar, esses dados ficam disponíveis no seu painel de cliente — evite adivinhar.
Passo 2 — Identifique o processo que está "pesando"
Antes de limitar qualquer coisa, você precisa saber qual processo é o culpado. Use o comando:
top— mostra em tempo real os processos que mais consomem CPU (o topo da lista, geralmente).- Ou
ps aux --sort=-%cpu | head— lista os processos ordenados por consumo de CPU, do maior para o menor.
Anote o PID (número de identificação do processo) — vamos precisar dele no próximo passo.
Passo 3 — Ajustando a prioridade com nice e renice
A forma mais simples e sempre disponível de "acalmar" um processo é reduzir a prioridade dele — assim o sistema operacional dá preferência a outras tarefas quando os recursos estiverem disputados.
- Se o processo ainda vai iniciar, rode-o já com prioridade baixa:
nice -n 19 ./seu-script.sh
(quanto mais próximo de 19, menor a prioridade — ou seja, mais "gentil" com a CPU) - Se o processo já está rodando, use o PID anotado no passo anterior:
renice 19 -p PID_DO_PROCESSO
Passo 4 — Limitando por porcentagem com cpulimit (se disponível)
O nice/renice ajusta a prioridade, mas não trava um teto fixo. Se você precisa de um limite real, tipo "esse processo não pode passar de 30% de CPU", a ferramenta ideal é o cpulimit:
- Verifique se está disponível no seu ambiente:
cpulimit -v - Se estiver, aplique o limite indicando o PID e a porcentagem desejada:
cpulimit -p PID_DO_PROCESSO -l 30
(isso limita o processo a até 30% de um núcleo de CPU)
💡 Dica da Sensei: nem todo ambiente de hospedagem compartilhada tem o cpulimit instalado, já que é uma ferramenta que precisa de permissões específicas. Se o comando não for reconhecido, fale com o suporte da GeHost para confirmar se ela está disponível no seu plano.
Cuidados importantes antes de sair limitando tudo
- Limitar demais um processo pode deixá-lo tão lento que ele nunca termina — ajuste aos poucos e observe o resultado.
- Processos essenciais do próprio ambiente de hospedagem (como os que rodam o cPanel) não devem ser mexidos — foque apenas nos seus scripts e rotinas.
- Se o mesmo processo sobe automaticamente via cron job, lembre-se de aplicar o
nicediretamente dentro do comando agendado, senão o ajuste se perde a cada nova execução.
E é isso! Com esses passos você já consegue deixar seus processos mais "educados" com o resto do servidor. Se em algum momento algo não se comportar como o esperado, nosso suporte está por perto para te ajudar — inclusive dentro dos 30 dias gratuitos após a entrega da sua hospedagem. Qualquer dúvida, é só chamar. 🌱