CPUTool – Limitar e controlar a utilização da CPU de qualquer processo no Linux

Um dos aspectos críticos em monitoramento do desempenho do Linux tem de ser o uso da CPU e a carga do sistema. Existem várias ferramentas de monitoramento do desempenho do Linux para acompanhar como as coisas estão se desenrolando em um sistema.

A number of these tools simply output the system state/statistics while a few others provide you means of managing system performance. One such tool called CPUTool.

CPUTool é uma ferramenta de linha de comando simples, mas poderosa, para limitar e controlar a utilização da CPU de qualquer processo até um determinado limite e permite a interrupção da execução do processo se a carga do sistema exceder um limite definido.

Como o CPUTool funciona?

Para limitar o uso da CPU, o cputool envia os sinais SIGSTOP e SIGCONT aos processos, e isso é determinado pela carga do sistema. Ele se baseia no pseudo-sistema de arquivos /proc para ler PID e medir o uso da CPU.

Pode ser usado para limitar o uso da CPU ou a carga do sistema influenciada por um único processo ou um grupo de processos até um determinado limite e/ou suspender processos se a carga do sistema ultrapassar um limite.

Leitura sugerida: Entenda as médias de carga do Linux e monitore o desempenho do Linux

Instale o CPUTool para Limitar o Uso da CPU e a Média de Carga

A CPUTool is only available to install on Debian/Ubuntu and its derivatives from the default system repositories using package management tool.

$ sudo apt install cputool

Limitando o Uso da CPU do Processo com o CUPTool

Agora vamos ver como o cputool realmente funciona. Para demonstrar tudo, vamos executar um comando dd que deve resultar em uma porcentagem alta de CPU, em segundo plano, e exibir seu PID.

# dd if=/dev/zero of=/dev/null &

Para monitorar o uso da CPU, podemos usar as ferramentas top ou glances que nos permitem visualizar um estado em tempo real regularmente atualizado dos processos em execução de um sistema Linux:

# top
Monitor dd Command CPU Usage

A partir da saída acima, podemos ver que o comando dd está tendo a maior porcentagem de tempo de CPU 99,7%). Agora podemos limitar isso usando o cputool, conforme mostrado abaixo.

A opção --cpu-limit ou -c é usada para definir uma porcentagem de uso para um processo ou grupo de processos e -p para especificar um PID. O comando a seguir irá limitar o comando dd (PID 8275) para 50% de uso de um núcleo de CPU:

# cputool --cpu-limit 50 -p 8275 

Depois de executar o cputool, podemos verificar o novo uso da CPU para o processo (PID 8275) mais uma vez. Agora o uso da CPU para o processo dd deve variar de (49,0%-52,0%).

# top
Limit Process CPU to 50% Usage

Para limitar ainda mais o uso da CPU do dd para 20%, podemos executar o cputool pela segunda vez:

# cputool --cpu-limit 20 -p 8275 

Em seguida, verifique imediatamente usando ferramentas como top ou glances assim (o uso da CPU para dd deve agora variar de 19.0%-22.0% ou ligeiramente além disso):

# top
Limit Process CPU Usage to 20%

Observe que o shell não espera nenhuma entrada do usuário enquanto cputool está em execução; portanto, fica sem resposta. Para encerrá-lo (isso encerrará a operação de limitação do uso da CPU), pressione Ctrl + C.

Importante, para especificar um grupo de processos (um programa com várias instâncias em execução, cada uma com um PID distinto) por exemplo, servidor web HTTP:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Use a opção -P assim:

# cputool --cpu-limit 20 -P 1780

Limitando a Carga do Sistema com o CUPTool

A opção -l é usada para especificar a carga máxima que o sistema pode suportar para que o processo ou grupo de processos continue em execução. Podemos usar um valor fracionário (por exemplo, 2.5).

O exemplo abaixo significa executar rsync para um backup local apenas quando a carga do sistema não exceder 3.5:

# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

Para mais informações e uso, consulte a página do manual do CPUTool:

# man cputool

Confira os seguintes guias úteis para encontrar informações sobre a CPU e monitoramento de desempenho da CPU:

  1. 9 Comandos Úteis para Obter Informações da CPU no Linux
  2. Cpustat – Monitora a Utilização da CPU pelos Processos em Execução no Linux
  3. CoreFreq – Uma Ferramenta Poderosa de Monitoramento de CPU para Sistemas Linux
  4. Encontre os Principais Processos em Execução com Maior Uso de Memória e CPU no Linux

Em conclusão, CPUTool realmente é útil para o gerenciamento de desempenho do Linux. Compartilhe seus pensamentos sobre este artigo através do formulário de feedback abaixo.

Source:
https://www.tecmint.com/cputool-limit-linux-process-cpu-usage-load/