CPUTool – Limitar e Controlar a Utilização da CPU de Qualquer Processo no Linux

Monitoramento de desempenho do Linux deve incluir necessariamente o monitoramento do uso da CPU e da carga do sistema. Existem diversas ferramentas de monitoramento de desempenho do Linux que podem ajudar a acompanhar o que está acontecendo 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 para um determinado limite, e também 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 para os processos, com base na carga do sistema. Ele utiliza o sistema de arquivos pseudo /proc para ler PIDs e suas medidas de utilização da CPU.

Ele pode ser usado para limitar o uso da CPU ou a carga do sistema causada por um único processo ou um grupo de processos para um determinado limite, e/ou suspender processos se a carga do sistema ultrapassar um limite definido.

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 deverá resultar em uma porcentagem alta de uso da CPU em segundo plano e exibir o 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 ver um estado atualizado em tempo real dos processos em execução em 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, como mostrado abaixo.

A bandeira --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 seguinte comando irá limitar o comando dd (PID 8275) para 50% de uso de um núcleo da 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 entre (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 uma segunda vez:

# cputool --cpu-limit 20 -p 8275 

Em seguida, verifique imediatamente usando ferramentas como top ou glances assim (a utilização da CPU para dd deve ficar entre 19,0%-22,0% ou ligeiramente além disso):

# top
Limit Process CPU Usage to 20%

Observe que o shell não espera qualquer entrada do usuário enquanto o cputool está em execução; portanto, ele se torna irresponsivo. Para encerrá-lo (isso irá interromper a operação de limitação de 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, um servidor web HTTP:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Use a bandeira -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 o processo ou grupo de processos continuar em execução. Podemos usar um valor fracionário (por exemplo, 2,5).

O exemplo abaixo significa executar o rsync para um backup local somente 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 de manual do CPUTool:

# man cputool

Confira os seguintes guias úteis para encontrar informações da 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 por 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, o CPUTool realmente é útil para gerenciamento de desempenho no 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/