Realmente altas leituras de carga enquanto o servidor parece ocioso

2

Eu queria saber se algum de vocês encontrou tal problema, que a carga reportada do servidor é realmente alta, embora nenhum dos parâmetros pareça indicar que está ocupado. Eu precisaria verificar isso novamente, mas acho que isso só acontece depois que eu começo o passageiro. Eu estou em um host virtual dedicado.

Alguma dica de por que isso está acontecendo ou ideias de como depurar esse valor de carregamento? Aqui está a minha melhor leitura, posso fornecer outras informações, se necessário.

top - 13:34:38 up 122 days, 19:15,  1 user,  load average: 2.44, 2.02, 1.85
Tasks:  51 total,   4 running,  47 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.7%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1048576k total,   797196k used,   251380k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached
    
por HouseMD 08.11.2011 / 12:46

4 respostas

2

Obrigado pela sua contribuição, pois a resposta correta (e a chave da minha pergunta) é que estou usando um servidor virtual dedicado. O servidor tinha 0,6 de uma unidade de processador (portanto, 1,2 Ghz de 2 Ghz Xeon). Isso causou leituras estranhas no meu software de monitoramento de integridade do servidor e do topo (o novo relic rpm chamou esse tempo de 'roubado' no gráfico de uso da CPU). Eu agora atualizei para um VPS núcleo completo e a carga está abaixo do seu valor apropriado ~ 0.07.

    
por 08.11.2011 / 21:40
2

Quando você vê carga alta, mas baixa utilização da CPU, indica que algo mais é o gargalo. (Como Janne disse, uma média de carga de 2 não é particularmente alta, mas não é uma má idéia entender o que seu sistema está fazendo em profundidade).

O acesso ao disco é o motivo mais comum para altas médias de carga com baixo uso de CPU. Você pode ver algumas estatísticas sobre o uso do disco com vmstat , iostat ou dstat dependendo do que você instalou.

Para comparação, um dos meus servidores web bastante ocupados está mostrando a coluna bi (block read in) em vmstat em 100 por 30 segundos e a coluna bo (blocos gravados) como 3000 por 30 segundos. A média de carga nesse servidor é de aproximadamente 1.

Outra razão possível é um grande número de processos que estão fazendo muito pouco trabalho. A maioria dos servidores que vejo tem entre 100 e 200 processos. Se o seu servidor tiver 500 ou 1000, isso pode causar uma alta média de carga.

Mais uma vez, para comparação, recentemente tivemos um grande número de e-mails em nossa fila de e-mails que geraram cerca de 1.000 processos para enviar os e-mails. Isso fez com que a média de carga subisse para cerca de 70 e tornasse o sistema difícil de usar.

    
por 08.11.2011 / 15:59
0

A média de carga de 2 não é realmente alta, na verdade é baixa.

Você está vendo problemas reais de desempenho em algum lugar?

    
por 08.11.2011 / 12:52
0

Eu geralmente vejo isso quando um processo ou dois entra no estado "D". Isso significa que eles estão esperando algo de E / S. É possível que isso possa ser um compartilhamento NFS com tempo limite ou similar. Se eles são os dois únicos processos que aguardam esse dispositivo de armazenamento, sua% CPU no estado IOWAIT não aumentará muito.

Para ser claro, uma média de carga de 2,44 pode ser alta ou baixa, dependendo da quantidade de threads da CPU que o seu sistema possui. Se você tiver um Xeon dual-core com hyperthreading, você terá 4 threads de CPU. Uma média de carga de até 4.0 significaria que o sistema está em ou com capacidade total. Uma média de carregamento de mais de 4.0 nesse sistema significaria que há mais processos na fila de execução do que os encadeamentos de CPU.

    
por 08.11.2011 / 15:56