Limite o uso da CPU de um processo no Linux com ferramenta CPULIMIT

Limite o uso da CPU de um processo no Linux com ferramenta CPULIMIT

Em um post anterior, explicamos o CPUTOOL para limitar e controlar a utilização da CPU de qualquer processo no Linux. Ele permite que um administrador do sistema interrompa a execução de um processo (ou grupo de processo) se a carga da CPU/sistema vai além de um limite definido. Aqui, aprenderemos a usar uma ferramenta semelhante chamada cpulimit.

Cpulimit é usado para restringir o uso da CPU de um processo da mesma maneira que CputOol, No entanto, oferece mais opções de uso em comparação com sua contraparte. Uma diferença importante é que o cpulimit não gerencia a carga do sistema diferente cputOol.

Leia sugerida: 9 comandos úteis para obter informações da CPU no Linux

Instale o cpulimit para limitar o uso da CPU de um processo no Linux

Cpulimit está disponível para instalação a partir de repositórios de software padrão de Debian/Ubuntu e seus derivados usando uma ferramenta de gerenciamento de pacotes.

$ sudo apt install cpulimit 

Em RHEL/CENTOS e Fedora, Você precisa primeiro ativar o repositório EPEL e depois instalar o cpulimit, como mostrado.

# Yum Instale o lançamento de Epel
# yum instalar cpulimit

Limitando o uso da CPU do processo com CuPlimit

Nesta sub -seção, explicaremos como o cpulimit funciona. Primeiro, vamos executar um comando (o mesmo comando dd Analisamos enquanto cobrimos o CPUTOOL), o que deve resultar em uma alta porcentagem da CPU, em segundo plano (observe que o processo PID é impresso após a execução do comando).

$ dd if =/dev/zero de =/dev/null & [1] 17918 

Em seguida, podemos usar as ferramentas superior ou de olhares que geram o estado real frequentemente atualizado de um sistema Linux em execução, para assistir ao uso da CPU do comando acima.

$ top 
Monitore o uso da CPU no Linux

Olhando para a saída acima, podemos ver que o dd O processo está utilizando a maior porcentagem do tempo da CPU 100.0%.

Mas podemos limitar isso usando cputlimit da seguinte maneira. O --PID ou -p a opção é usada para especificar o PID e --limite ou -eu é usado para definir uma porcentagem de uso para um processo.

O comando abaixo limitará o comando dd (PID 17918) para 50% Uso de um núcleo da CPU.

$ sudo cpulimit - -pid 17918 -Limit 50 Processo 17918 detectado 

Depois de executarmos o CPULIMIT, podemos ver o uso atual da CPU para o comando dd com top ou olhares. Da saída, o valor varia de (51.5%-55.0% ou um pouco além).

Limite o uso da CPU do processo no Linux

Podemos acelerar seu uso da CPU pela segunda vez, desta vez, diminuindo mais a porcentagem da seguinte maneira:

$ sudo cpulimit - -pid 17918 -Limit 20 Processo 17918 detectado 

Como fizemos antes, podemos executar o topo ou olhares para ver o novo uso da CPU para o processo, que variará de 20%-25.0% ou um pouco além disso.

$ top 
Uso da CPU do acelerador no Linux

Observação: O shell se torna não interativo - não espera nenhuma entrada do usuário quando o cpulimit está em execução. Para matá -lo (que deve interromper a operação de limitação de uso da CPU), pressione [Ctrl + C].

Para executar o Cpulimit como um processo de segundo plano, use o --fundo ou -b Mudar, liberando o terminal.

$ sudo cpulimit - -pid 17918 -limite 20 -background 

Para especificar o número de núcleos de CPU presentes no sistema, use o --CPU ou -c sinalizador (isso é normalmente detectado automaticamente).

$ sudo cpulimit - -pid 17918 -limite 20 -CPU 4 

Em vez de limitar o uso da CPU de um processo, podemos matá -lo com o --matar ou -k opção. O padrão é o sinal enviado ao processo é Sigcont, Mas para enviar um sinal diferente, use o --sinal ou -s bandeira.

$ sudo cpulimit - -pid 17918 - -limite 20 --kill 

Para sair se não houver processo de destino adequado ou, caso morra, inclua o -z ou --preguiçoso assim.

$ sudo cpulimit - -pid 17918 - -limite 20 --kill -LAZY 

Para obter informações adicionais e opções de uso, veja a página do CPULIMIT MAN.

$ MAN CPULIMIT 

Confira os seguintes guias úteis para encontrar informações da CPU e monitoramento de desempenho da CPU/sistema.

  1. Encontre os principais processos de execução por memória mais alta e uso da CPU no Linux
  2. Cpustat - monitora a utilização da CPU através de processos de execução no Linux
  3. CoreFreq - Uma poderosa ferramenta de monitoramento da CPU para sistemas Linux
  4. Encontre os principais processos de execução por memória mais alta e uso da CPU no Linux
  5. 20 ferramentas de linha de comando para monitorar o desempenho do Linux
  6. 13 Ferramentas de monitoramento de desempenho do Linux - Parte 2

Em comparação, depois de testar o cpatool e Cpulimit, Percebemos que o primeiro oferece uma funcionalidade mais eficaz e confiável da “limitação de uso da CPU”.

Isso está de acordo com o intervalo percentual de uso da CPU observado após a execução das duas ferramentas contra um determinado processo. Experimente as duas ferramentas e adicione seus pensamentos a este artigo usando o formulário de feedback abaixo.