Verifique a integridade e a disponibilidade de seus servidores Linux para obter desempenho ideal com a ferramenta de monitoramento Linux do Site24x7.
Esteja uma aplicação sendo executada em um servidor ou em uma máquina local, monitorar a utilização e a carga da CPU é essencial para otimizar o desempenho. Embora a utilização e a carga da CPU possam parecer semelhantes, na verdade são bem diferentes.
Este artigo explicará as diferenças entre essas duas métricas importantes, como monitorar a carga da CPU com comandos comuns, o impacto da alta carga da CPU e como controlá-la para melhorar o desempenho do sistema.
A utilização da CPU é a porcentagem de trabalho que a CPU realiza para gerenciar tarefas. A carga da CPU, por outro lado, é uma medida de quantos processos estão sendo executados ou aguardando para serem executados pela CPU.
Comandos como uptime
ou top
fornecem o valor das médias de carga da CPU, ou seja, o número médio de threads usando ativamente ou solicitando o uso da CPU nos últimos 1, 5 e 15 períodos de minutos. Médias de carga altas indicam uma CPU sobrecarregada com muitos processos. Por exemplo, uma CPU com carga média de 1 está funcionando com capacidade total, enquanto uma CPU completamente ociosa tem um valor de carga de 0.
No entanto, esta métrica é dimensionada de acordo com os núcleos da CPU: quanto mais núcleos instalados no sistema, mais tarefas ele pode realizar em paralelo.
Por exemplo, para uma CPU com 4 núcleos, a média de carga acumulada será 4, pois cada núcleo pode suportar um valor de carga de 1. Neste cenário, mesmo que um dos núcleos esteja rodando a 100% da capacidade, a CPU só ser carregado com um quarto de sua carga potencial.
Agora, se a carga for maior que o número de núcleos instalados, os processos começarão a entrar na fila para usar a CPU.
Conforme observado acima, a média da carga da CPU é calculada nos períodos anteriores de 1, 5 e 15 minutos. Mas existem outras métricas que também nos ajudam a identificar a carga da CPU, como:
Geralmente, uma alta carga de CPU não afeta negativamente o desempenho do sistema, desde que não seja uma ocorrência de longo prazo. Mas executar uma CPU com 100% da capacidade por longos períodos pode ter impactos leves a graves no desempenho do sistema.
Alguns possíveis problemas estão listados abaixo:
Diferentes comandos ajudam a monitorar a carga do sistema durante diferentes períodos. Normalmente, um número menor é melhor, pois um número maior indica uma máquina sobrecarregada.
A próxima seção abordará alguns dos comandos que facilitam o monitoramento das médias de carga da CPU.
top
O comando top
exibe as estatísticas dinâmicas de um sistema Linux em execução em tempo real. É um dos comandos mais utilizados para monitorar o desempenho do sistema. A primeira metade de output do comando top
contém métricas importantes do sistema, enquanto a segunda parte exibe estatísticas sobre uma lista autoatualizável de processos que estão sendo gerenciados atualmente pelo kernel do Linux.
Executar o comando top
criará um output semelhante à vista na figura abaixo:
A primeira linha deste output exibe o tempo de atividade, o número total de usuários ativos conectados ao sistema e as médias de carga da CPU nos últimos intervalos de 1, 5 e 15 minutos.
Por exemplo, o output acima mostra as médias de carga como 0,13, 0,40 e 0,21. Conforme afirmado anteriormente, para interpretar corretamente esses números, é importante saber quantos núcleos a CPU possui. O output acima é de uma máquina de núcleo único, portanto a média de carga está dentro do limite aceitável, pois todas as médias de carga são inferiores a 1,0. Mesmo que haja um aumento na duração de 1 e 5 minutos, desde que a média de carga da duração de 15 minutos esteja dentro do limite, não deverá haver problema.
uptime
O comando uptime também é útil para visualizar a média de carga do sistema. Este comando exibe a hora atual do sistema, o tempo de atividade da máquina, o número de usuários atualmente conectados ao sistema e as médias de carga dos últimos 1, 5 e 15 minutos.
A execução do comando uptime
gerará um output semelhante o mostrado abaixo:
O output acima é muito semelhante à primeira linha do output do comando top
. As médias de carga são exibidas no mesmo formato e os valores das médias de carga são 0,53, 0,56 e 0,24. Como este é o output de uma máquina de núcleo único, as médias de carga ainda estão abaixo do limite, pois estão abaixo de 1,0. Este valor é sempre ajustado de acordo com a quantidade de núcleos do sistema.
ps
O comando ps
é uma ferramenta flexível e amplamente utilizada para identificar os processos em execução no sistema e o número de recursos que eles estão usando para serem executados. Este comando pode mostrar diferentes outputs de acordo com várias opções.
A execução do comando ps
gerará um output como a mostrada abaixo:
Este output exibe informações básicas sobre os processos em execução, mas pode ser personalizada com opções fornecidas pelo comando ps
para obter mais detalhes.
Por exemplo, podemos visualizar e classificar quais processos estão usando mais CPU executando o seguinte comando:
Isso resultará em um output como o mostrado abaixo:
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
O comando ps
não exibe as médias de carga do sistema; em vez disso, é usado para solucionar a causa e encontrar os processos que estão causando a alta carga da CPU. Por exemplo, se um processo estiver utilizando 100% da CPU, os demais processos terão que esperar pela CPU e a carga da CPU aumentará.
Este comando também ajuda a identificar os processos que estão sendo gerados repetidamente ou que estão em estado zumbi.
Abaixo estão algumas correções comuns para reduzir a alta carga da CPU:
A carga da CPU é uma métrica importante que precisa ser monitorada regularmente para garantir que o sistema esteja funcionando perfeitamente. Essa métrica geralmente é medida em médias de carga, mas existem outras medidas que indicam a quantidade de carga na CPU.
Felizmente, existem vários comandos úteis que podem ajudar a identificar e monitorar a carga da CPU. Os comandos top
e uptime
ajudam a monitorar diretamente as médias de carga da CPU, enquanto o comando ps
é usado para identificar os processos que estão causando a alta carga da CPU.
A alta carga da CPU pode ser um indicador de vários problemas e existem várias soluções comuns disponíveis para reduzir a alta carga e otimizar o desempenho da CPU.
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