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

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

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

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:
- 9 Comandos Úteis para Obter Informações da CPU no Linux
- Cpustat – Monitora a Utilização da CPU pelos Processos em Execução no Linux
- CoreFreq – Uma Ferramenta Poderosa de Monitoramento de CPU para Sistemas Linux
- 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/