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

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

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

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:
- 9 Comandos Úteis para Obter Informações da CPU no Linux
- Cpustat – Monitora a Utilização da CPU por 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, 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/