Monitoramento

Compreendendo a média de carga no Linux

Compreendendo a média de carga no Linux
A média de carga é uma medida da quantidade de trabalho versus ciclos de CPU livres disponíveis em um processador do sistema. Neste artigo, vou definir o termo, demonstrar como o Linux calcula esse valor e, em seguida, fornecer uma visão sobre como interpretar a carga do sistema.

Diferentes métodos de cálculo de carga

Antes de mergulharmos nas médias de carga do Linux, devemos explorar as diferentes maneiras como a carga é calculada e abordar a medida mais comum de carga da CPU - uma porcentagem.

O Windows calcula a carga de maneira diferente do Linux e, como o Windows é historicamente mais popular na área de trabalho, a definição de carga do Windows é geralmente entendida pela maioria dos usuários de computador. A maioria dos usuários do Windows viu a carga do sistema no gerenciador de tarefas exibida como uma porcentagem que varia de 0% a 100%.

No Windows, isso é obtido examinando o quão “ocupado” o Processo ocioso do sistema é e usando o inverso para representar a carga do sistema. Por exemplo, se o thread inativo está executando 99% do tempo, a carga da CPU no Windows seria de 1%. Este valor é fácil de entender, mas fornece menos detalhes gerais sobre o verdadeiro status do sistema.

No Linux, a média de carga é representada por um número decimal começando em 0.00. O valor pode ser definido aproximadamente como o número de processos no último minuto que tiveram que esperar sua vez para execução. Ao contrário do Windows, a média de carga do Linux não é uma medida instantânea. A carga é dada em três valores - a média de um minuto, a média de cinco minutos e a média de quinze minutos.

Compreendendo a média de carga no Linux

A princípio, essa camada extra de detalhes parece desnecessária se você simplesmente quiser saber o estado atual da carga da CPU em seu sistema. Mas como as médias de três períodos de tempo são fornecidas, em vez de uma medição instantânea, você pode ter uma ideia mais completa da mudança da carga do sistema ao longo do tempo com um único olhar de três números

Exibir a média de carga é simples. Na linha de comando, você pode usar uma variedade de comandos. Eu simplesmente uso o comando “w”:

root @ virgo [~] # w
21:08:43 até 38 dias, 4:34, 4 usuários, média de carregamento: 3.11, 2.75, 2.70

O resto do comando exibirá quem está conectado e o que está executando, mas para nossos propósitos, esta informação é irrelevante, então eu a retirei da tela acima.

Em um sistema ideal, nenhum processo deve ser interrompido por outro processo (ou thread), mas em um sistema de processador único, isso ocorre quando a carga vai acima de 1.00.

As palavras "sistema de processador único" são extremamente importantes aqui. A menos que você esteja executando um computador antigo, sua máquina provavelmente tem vários núcleos de CPU. Na máquina em que estou ligado, tenho 16 núcleos:

root @ virgo [~] # nproc
16

Neste caso, uma média de carga de 3.11 não é nem um pouco alarmante. Significa simplesmente que um pouco mais de três processos estavam prontos para serem executados e os núcleos da CPU estavam presentes para lidar com sua execução. Neste sistema específico, a carga teria que chegar a 16 para ser considerada em "100%".

Para traduzir isso para uma carga de sistema baseada em porcentagem, você pode usar este comando simples, se não obtuso:

cat / proc / loadavg | cut -c 1-4 | echo "escala = 2; ($ (Esta sequência de comando isola a média de 1 minuto por meio de corte e ecoa, dividido pelo número de núcleos da CPU, por meio de bc, uma calculadora de linha de comando, para derivar a porcentagem.

Este valor não é científico, mas fornece uma estimativa aproximada da carga da CPU em porcentagem.

Um minuto para aprender, uma vida inteira para dominar

Na seção anterior, coloquei o exemplo “100%” de uma carga de 16.0 em um sistema de 16 núcleos de CPU entre aspas porque o cálculo de carga no Linux é um pouco mais nebuloso do que no Windows. O administrador do sistema deve ter em mente que:

Por causa disso, obter o controle da carga da CPU em um sistema Linux não é uma questão inteiramente empírica. Mesmo se fosse, a carga da CPU por si só não é uma medida adequada da utilização geral dos recursos do sistema. Como tal, um administrador Linux experiente considerará a carga da CPU em conjunto com outros valores, como espera de E / S e a porcentagem de kernel versus tempo do sistema.

I / O Wait

A espera de I / O é mais facilmente vista por meio do comando “top”:

Na captura de tela acima, destaquei o valor de espera de I / O. Esta é uma porcentagem de tempo que a CPU estava esperando os comandos de entrada ou saída para serem concluídos. Isso geralmente é indicativo de alta atividade do disco. Embora uma alta porcentagem de espera por si só não possa degradar significativamente as tarefas vinculadas à CPU, reduzirá o desempenho de I / O para outras tarefas e fará com que o sistema pareça lento.

Espera alta de I / O sem nenhuma causa óbvia pode indicar um problema com um disco. Use o comando “dmesg” para ver se ocorreu algum erro.

Kernel vs. Hora do sistema

Os valores destacados acima representam a hora do usuário e do kernel (sistema). Esta é uma divisão do consumo geral de tempo de CPU pelos usuários (i.e. aplicativos, etc.) e o kernel (i.e. interação com dispositivos do sistema). Maior tempo do usuário indicará mais uso da CPU por programas onde maior tempo do kernel indicará mais processamento no nível do sistema.

Uma carga razoavelmente média

Aprender a relação da média de carga com o desempenho real do sistema leva tempo, mas em pouco tempo você verá uma correlação distinta. Armado com as complexidades das métricas de desempenho do sistema, você será capaz de tomar melhores decisões sobre atualizações de hardware e utilização de recursos do programa.

Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...
Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...