Entendendo a utilização da CPU

A utilização da CPU é a quantidade de trabalho que uma CPU faz para executar as tarefas que lhe são atribuídas. É uma métrica importante a ser rastreada porque a alta utilização da CPU pode afetar negativamente o desempenho de um sistema.

O uso da CPU pode variar de acordo com o número de núcleos da CPU, pois o sistema tem um desempenho mais rápido e eficiente no caso de um sistema com mais núcleos. Se os núcleos da CPU não conseguirem lidar com a carga pesada de uma aplicação, isso resultará na alternância de contexto das tarefas. Porém, o excesso de alternância de contexto também causará um aumento no uso da CPU.

O rastreamento e o monitoramento da eficiência da CPU são essenciais para lidar com os processos e recursos do sistema. Felizmente, há várias ferramentas disponíveis para monitorar essa métrica.

Causas da alta utilização da CPU

Como a alta utilização da CPU indica um desempenho ruim do sistema, ela deve ser evitada. O uso da CPU acima da média geralmente pode ser atribuído a uma das seguintes causas:

1. Processo de inatividade do sistema

Se um sistema estiver ocioso, o sistema operacional cria um processo chamado System Idle Process para evitar que o sistema seja desligado. Esse processo parece mostrar um alto uso da CPU, mas na verdade indica a porcentagem da capacidade da CPU que não está sendo usada. Se o processo ocioso estiver consumindo até 99% da energia da CPU, isso significa que apenas 1% está sendo usado para executar tarefas reais.

2. Programas de inicialização automática e processos em segundo plano

Os programas de inicialização automática são aplicações que são iniciados automaticamente durante a inicialização do sistema operacional e continuam a ser executados em segundo plano. Muitos processos em segundo plano executados simultaneamente em um computador consomem recursos da CPU e causam desnecessariamente um alto uso da CPU.

3. Vírus e malware

Se um sistema ficar extremamente lento, com um uso da CPU de quase 100%, mas sem uma causa clara, o problema pode ser um vírus ou malware. Eles geralmente são invisíveis e utilizam muito a CPU.

4. Navegador

Até mesmo o navegador pode causar alto uso da CPU se:

  • Várias guias são abertas ao mesmo tempo
  • Vários plug-ins e complementos estão sendo executados em segundo plano
  • As guias do navegador com anúncios ou vídeos de reprodução automática estão abertas

5. Programas com alta exigência de CPU

Aplicações ou programas que exigem alto poder de processamento, incluindo software de edição de vídeo e jogos de vídeo de alta resolução, podem facilmente aumentar o uso da CPU.

Efeitos da alta utilização da CPU

A alta utilização da CPU afeta negativamente o desempenho do sistema das seguintes maneiras:

  • Atraso no desempenho da CPU
  • Reinicialização frequente dos sistemas
  • Demora na resposta do aplicação
  • Superaquecimento da CPU

É essencial verificar o uso da CPU regularmente para entender a causa e o impacto da alta utilização da CPU.

Determinar a utilização da CPU

Abaixo estão alguns dos comandos mais populares usados para monitorar em tempo real o uso da CPU em um sistema Linux.

Comando top

O comando top é usado para exibir uma visão dinâmica e em tempo real de um sistema em execução. Ele exibe várias métricas cruciais do sistema juntamente com um conjunto de processos que estão sendo gerenciados atualmente pelo kernel do Linux. É um dos comandos mais usados para rastrear a utilização da CPU, as estatísticas do processo e a utilização da memória de um sistema Linux.

Por exemplo, ao executar o comando top em um sistema Linux, exibirá uma saída semelhante à mostrada abaixo:

Fig 1: Saída do comando superior Fig 1: Saída do comando superior

Na saída acima, o comando top exibe várias estatísticas importantes da CPU, incluindo o tempo ocioso e o tempo de espera. Você pode calcular a utilização geral da CPU usando o tempo ocioso com a fórmula fornecida abaixo:

Utilização da CPU = 100 - tempo ocioso

Por exemplo, na saída acima, o tempo ocioso é de 98,3%, portanto, a utilização da CPU pode ser calculada da seguinte forma:

Utilização da CPU = 100 - 98,3 = 1,7%

O comando TOP gera uma lista de processos classificados pelo parâmetro %CPU, ou porcentagem da CPU consumida por um processo. Essa lista inclui vários detalhes sobre cada processo e é atualizada automaticamente a cada 5 segundos.

Comando mpstat

O comando mpstat fornece informações sobre o desempenho e a utilização da CPU, fornecendo estatísticas da CPU para todo o sistema e para cada processador disponível.

Executando o comando mpstat em um sistema Linux, exibirá uma saída como a mostrada na figura 2.

Fig 2: Saída do comando mpstat Fig 2: Saída do comando mpstat

Esse comando mostra várias estatísticas da CPU, incluindo tempo ocioso, tempo de espera I/O e tempo de roubo. Semelhante ao comando top, o tempo ocioso mostrado aqui pode ser usado para calcular a utilização da CPU usando a mesma fórmula.

O comando a seguir pode ser executado para obter estatísticas de cada uma das CPUs ou processadores:

mpstat -P ALL 

Esse comando gerará uma saída semelhante à mostrada na figura 3.

Fig 3: Saída do comando mpstat -p ALL Fig 3: Saída do comando mpstat -p ALL

Assim, a utilização da CPU dos processadores CPU0 e CPU1 pode ser calculada conforme mostrado abaixo:

CPU0 = 100 - 92.13 = 7.87

CPU1= 100 - 22.78 = 77.22

Monitorar a utilização da CPU por processo

É essencial verificar a utilização da CPU para cada processo. Um sistema pode apresentar alta utilização da CPU mesmo que apenas alguns processos sejam responsáveis pela maior parte do uso. Investigue os processos individuais para identificar a causa e encerrá-los conforme necessário.

Além do comando top, ps é outro comando útil para visualizar estatísticas de CPU em nível de processo.

Comando ps

O comando ps fornece informações sobre os processos em execução no sistema Linux. É usado para visualizar informações relacionadas ao processo, incluindo o usuário do processo, o tipo de terminal utilizado e o PID do processo.

Executando o comando ps em um sistema Linux gerará uma saída semelhante à mostrada abaixo.

Fig 4: Saída do comando ps Fig 4: Saída do comando ps

Você também pode usar o comando ps para visualizar os 10 processos que mais consomem CPU, executando o seguinte comando:

ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10 

A saída desse comando será semelhante à figura abaixo.

Fig 5: Os 10 processos que mais consomem CPU Fig 5: Os 10 processos que mais consomem CPU

A saída do comando acima fornece informações relacionadas ao processo, como ID do processo (PID), usuário do processo e o comando usado para executar o processo. Essas informações são classificadas de acordo com a utilização da CPU e ajudam o usuário a identificar o processo que está usando a maior parte da CPU para que ele possa agir de acordo.

Conclusão

A utilização da CPU representa a quantidade de trabalho que uma CPU realiza para processar recursos ou gerenciar as tarefas de um sistema operacional. Essa métrica é usada para determinar o desempenho do sistema, estimando o uso médio da CPU em um determinado período de tempo.

Vários fatores contribuem para o alto uso da CPU, portanto, é essencial encontrar a causa principal para reduzi-la. Este artigo fornece três comandos úteis —top, mpstat, e ps para ajudar os usuários a monitorar e solucionar problemas relacionados à CPU no Linux.

Na maioria dos cenários, esses comandos são suficientes para solucionar problemas e reduzir a alta utilização da CPU.

Was this article helpful?
Monitore seu ambiente Linux

Verifique a integridade e a disponibilidade de seus servidores Linux para obter desempenho ideal com a ferramenta de monitoramento Linux do Site24x7.

Write For Us

Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 "Learn" portal. Get paid for your writing.

Write For Us

Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 “Learn” portal. Get paid for your writing.

Apply Now
Write For Us