Como limitar o uso de CPU de um processo no Linux com cpulimit
Quando você está trabalhando em um sistema Linux, vários processos são executados em segundo plano. Esses processos consomem recursos do sistema na forma de tempo e uso da CPU.
Embora, na maioria das situações, o sistema operacional gerencie esses processos automaticamente, às vezes um processo que consome muitos recursos pode sobrecarregar a CPU devido ao processamento pesado ou ao desenvolvimento insuficiente. A resposta geralmente é eliminar o processo diretamente ou limitar o uso da CPU a um determinado limite.
Felizmente, no Linux, você pode limitar o uso da CPU de um processo usando um utilitário de linha de comando chamado cpulimit .
Como identificar um processo com alto uso da CPU
Antes de limitar a porcentagem de recursos do sistema que um processo pode usar, você precisa encontrar o ID do processo desse processo específico. Um ID de processo (ou PID) é um número exclusivo que seu sistema usa para identificar um processo.
No Linux, existem várias maneiras de obter informações detalhadas relacionadas aos processos. Você pode usar o comando top para obter uma lista dos processos atualmente em execução em seu sistema.
top
Resultado:
A coluna % CPU mostra a porcentagem de CPU que o processo específico está usando. Se o seu computador estiver tentando processar mais dados do que pode, algum processo específico terá um uso da CPU de 100%. Verifique a tabela para ver se há algum processo com alto uso da CPU.
Depois de encontrar o processo com alto uso da CPU, anote seu PID. O ID do processo é importante para limitar o uso do processo.
Limite o uso da CPU com cpulimit
Conforme mencionado acima, cpulimit é um utilitário de linha de comando que adiciona um limite à quantidade de recursos do sistema usados por um processo específico em seu computador. Como a maioria das distribuições do Linux não vem com o cpulimit pré-instalado, você terá que instalá-lo manualmente.
Você pode instalar o pacote no Ubuntu e outras distribuições baseadas em Debian da seguinte maneira:
sudo apt install cpulimit
Em distribuições baseadas em Arch como Manjaro Linux:
sudo pacman -S cpulimit
Cpulimit está disponível no repositório EPEL (Extra Packages for Enterprise Linux). Portanto, para instalá-lo nas distribuições CentOS e RHEL, você terá que habilitar o repositório EPEL primeiro.
yum install epel-release
yum install cpulimit
Sintaxe Básica
Para usar cpulimit, você terá que passar um dos três argumentos a seguir com o comando:
- -p ou –pid : o ID do processo de um processo
- -e ou –exe : O nome do arquivo executável
- -p ou –path : caminho absoluto do arquivo executável
A sintaxe básica do comando é:
cpulimit -p pid
cpulimit -e executablename
cpulimit -p /path-to-executable
Limite o uso de CPU de um processo
Você pode usar o sinalizador –limit ou -l do utilitário cpulimit para adicionar um limite aos recursos que um processo pode usar. Para forçar um processo com PID 81550 a usar apenas 50% da CPU:
sudo cpulimit -p 81550 --limit 50
Aqui, cpulimit restringirá o uso da CPU do processo enquanto estiver em execução. Se você interromper a execução de cpulimit, o uso da CPU desse processo específico voltará ao normal.
Uma ótima solução para evitar esse problema é executar cpulimit em segundo plano. Você pode adicionar o sinalizador –background ou -b com o comando para enviar o comando para o segundo plano .
sudo cpulimit -p 81550 --limit 50 --background
Se a opção –background não funcionar, você pode adicionar um E comercial ( & ) após o comando para enviá-lo para o plano de fundo.
sudo cpulimit -p 81550 --limit 50 &
Use o comando superior para verificar se o comando mencionado funciona.
Como você deve ter notado, o uso da CPU do comando dd caiu para 48,8%.
Matar um processo usando seu PID
Em vez de limitar o uso da CPU, você pode encerrar completamente o processo eliminando-o com o sinalizador –kill .
sudo cpulimit -p 81550 --limit 50 --kill
Gerenciamento de processos mais inteligente no Linux
Cpulimit é um ótimo utilitário se você costuma encontrar processos com alto uso da CPU. Os usuários do GNOME que não se sentem confortáveis com a linha de comando também podem usar o Monitor do Sistema para gerenciar processos em seu sistema.
Além de usar ferramentas como cpulimit, você também pode diminuir a prioridade no Linux para fornecer menos recursos a um processo específico. Os comandos nice e renice são um salva-vidas quando se trata de gerenciar a prioridade de processos no Linux.