Alta carga de CPU, mas os principais processos estão no topo em torno de 0%

11

Temos um servidor com alta carga incomum e util cpu, mas não conseguimos descobrir o porquê. Quando corremos top todos os procs parecem ser muito baixa cpu.

link

Existe uma maneira melhor de procurar o que está causando isso?

    
por Ben 22.05.2011 / 06:20

7 respostas

4

Eu acho que este bug é o seu caso. Pelo que vejo na saída, você tem memória suficiente (observe os 14 GB em cache ou mais), nenhum problema de E / S, mas há processos relacionados ao xen em execução. Isso me faz pensar que é um bug.

    
por 22.05.2011 / 18:13
7

A carga é uma medida da carga de trabalho que um sistema teve em uma base de 1, 5 e 15 minutos.

O equívoco mais comum é que o Load Average é puramente conectado ao uso da CPU de um sistema.
No entanto, o Load incorpora medidas adicionais, como CPU esperando pela E / S, o que acho que é o seu problema.

Com base na imagem, estou supondo que você ficou sem memória e começou a trocar dados em disco.

Um simples free -m dirá quanto de RAM e swap é usado.
A coluna interessante é a coluna livre além de -/+ buffers/cache .
Se estiver perto de zero, você ficará sem RAM e deve agir de acordo.

    
por 22.05.2011 / 08:40
4

Notou que a média de carga é bastante alta (68, wow). É possível que existam muitos processos que consumam um pouco de CPU, o que acaba consumindo todo o tempo da CPU? Talvez, esses processos apenas iniciem e terminem muito rapidamente, assim, o topo não pode capturar a existência deles, você pode tentar ver se o topo pode ver isso ou não.

    
por 22.05.2011 / 08:25
3

Tente

iotop

IO foi para mim a maior parte do tempo.

    
por 22.05.2011 / 16:29
2

Tente usar:

top -o cpu

O sinalizador -o forçará o início para ordenar os processos pelo uso da CPU em ordem decrescente.

    
por 22.05.2011 / 06:49
2

Pode ser arquivos bloqueados em nfs ou qualquer outra coisa que bloqueie um arquivo que outro processo precise acessar

também pode ser perdido o serviço configurado com muitos segmentos ativos

    
por 22.05.2011 / 16:21
0

Parece que o uso da CPU está vindo de um segmento. top parece não levar isso em conta. Eu vi recentemente isso em um servidor mysql. há instruções INSERT em execução, mas não consegui obter as novas linhas com SELECT porque algum segmento do mysqld estava atualizando o índice da tabela. top mostra 100% de carga de usuário em um núcleo, mas cada processo, incluindo o mysqld, era uma CPU de 0.0%. horas depois, o mesmo SELECT forneceu o conjunto de resultados esperado.

Veja também

Obtendo uma estatística de cpu por thread

'htop' processo e threads de uso de cpu?

    
por 25.09.2015 / 19:57