Quão alto o sistema pode carregar?

9

Toda vez que eu faço login em meus servidores via SSH, ele me mostra um pouco das informações do servidor. Endereço IP do IE, uso de swap, uso da memória, etc. Uma das outras coisas que me pisca é o System Load. Agora, na maior parte do tempo, o número de carga do sistema é < 0.10 mas outras vezes eu vi isso subir para 0.89 (normalmente ao redor de inicialização).

Isso traz à tona a questão de quão alto pode ser o carregamento do sistema? Por exemplo, é possível ir até 2,00 até 100,00?

    
por Hunter Dolan 28.06.2011 / 13:05

7 respostas

15

This this brings up the question, how high can system load go? For instance is it possible for it to go up to 2.00 even 100.00?

Absolutamente. Olhando para a página uptime man:

   System load averages is the average number of processes that are either
   in a runnable or uninterruptable state.  A process in a runnable  state
   is  either  using the CPU or waiting to use the CPU. A process in unin‐
   terruptable state is waiting for some I/O access, eg waiting for  disk.
   The  averages  are  taken over the three time intervals.  Load averages
   are not normalized for the number of CPUs in a system, so a load  aver‐
   age  of 1 means a single CPU system is loaded all the time while on a 4
   CPU system it means it was idle 75% of the time.

Portanto, se você tiver muitos processos aguardando para serem executados (ou vários processos bloqueados aguardando E / S), você terá uma média de carga alta. Este artigo fala sobre isso com mais detalhes e tem links úteis para outros recursos.

Em um sistema sem carga, a média da carga normalmente estará no intervalo 0 < = load_average < = n , onde n é o número de núcleos em seu sistema.

    
por 28.06.2011 / 13:15
4

Eu vi sistemas vivos atingirem os milhares. Carga Média uma medida relativa baseada em processos de espera de quanta competição existe para obter a atenção dos núcleos e receber algum tempo na CPU. Se a máquina estiver sobrecarregada com trabalhos ou travando, isso pode levar muito tempo.

Qual nível é aceitável depende da máquina, do número de núcleos, do tipo de agendador de trabalho do kernel em uso e dos trabalhos que você espera que ele faça. Eu tenho algumas máquinas que são muito felizes na faixa de ~ 10, mas atolar se elas atingem ~ 40-50. Outros se tornam visivelmente lentos a 2 e seriam inutilizáveis aos 10.

Não é incomum que a carga seja alta durante a inicialização, já que muitas coisas estão sendo feitas de uma só vez e a máquina está terminando. Eu consideraria ~ 1 uma carga bastante normal para acertar durante a inicialização de um desktop Linux, em seguida, estabelecendo-se a ~ 0,1, sem fazer nada.

    
por 28.06.2011 / 13:08
3

No Linux, os valores médios de carga do sistema são compostos por processos em um dos três estados diferentes. Em geral, pode-se dizer que a média de carga é a quantidade de processos aguardando tempo de CPU ou consumindo tempo de CPU. Os três valores na visão geral da carga média são a média da carga no último minuto, nos últimos 5 minutos e nos últimos 15 minutos.

Os três diferentes estados de processos contados para a média de carga são: (1) processos em execução na CPU, (2) processos aguardando tempo de CPU e (3) processos em suspensão ininterrupta. A última categoria, apesar de não gerar carga de CPU, pode aumentar significativamente a média de carga do sistema.

Por exemplo, uma dezena de processos aguardando por leituras de um disco que está muito ocupado ou indisponível gerará uma carga média de 12 como processos em suspensão ininterrupta, mas seu processador pode estar perfeitamente inativo nesse meio tempo.

Então, sim, a média de carga pode chegar facilmente a dois dígitos. Quão ruim isso é depende do seu hardware. Se você tem 16 núcleos, ter 16 processos aguardando o tempo de CPU não é tão ruim. Em uma máquina de núcleo único, ter três processos aguardando o tempo de CPU pode ser muito ruim.

    
por 28.06.2011 / 13:23
2

Alguns segundos depois de matar um processo que estava comendo uma antiga cpu de 450Mhz:

    
por 28.06.2011 / 13:18
1

Quando você inicia repetidamente processos que bloqueiam imediatamente, a carga será tão alta quanto o número de processos que você gerencia para iniciar. Supondo que você tenha RAM suficiente para que o sistema não esteja trocando, o sistema permanecerá responsivo, já que a carga devido a processos de bloqueio não é realmente prejudicial.

    
por 28.06.2011 / 22:38
1

Faça um processo C simples executando loops infinitos em 10000 threads. Dê uma prioridade muito baixa (+20). Sua carga será 10000, enquanto seu sistema ainda será utilizável. Ele usará apenas um pouco de RAM (no máximo alguns megabytes).

Embora seja uma configuração bastante incomum, em sistemas reais você não encontrará isso.

O carregamento do sistema significa apenas o número médio de processos aguardando por um intervalo de tempo de CPU, nem menos nem mais. Aqui está outra resposta sobre o maneira correta de interpretar a carga do sistema .

Na experiência diária, uma carga acima de 30+ significa principalmente algum problema.

    
por 10.01.2017 / 18:35
1

Eu vi um servidor rodando a > 200 de carga.

Gostaria de enfatizar o teste e ver.

    
por 28.06.2011 / 13:07

Tags