Sistema sem resposta, mas sem carga da CPU

1

Um dos meus servidores não responde totalmente:

top - 06:16:53 up  2:14,  1 user,  load average: 30.95, 29.96, 22.92
Tasks: 168 total,   2 running, 166 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us, 12.6 sy,  0.0 ni,  0.0 id, 86.4 wa,  0.0 hi,  0.0 si,  1.1 st
KiB Mem :  1014524 total,    61368 free,   877028 used,    76128 buff/cache
KiB Swap:        0 total,        0 free,        0 used.     4196 avail Mem 
  scroll coordinates: y = 1/168 (tasks), x = 1/12 (fields)
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                                         
   30 root      20   0       0      0      0 S 11.1  0.0   4:04.70 kswapd0                                                                                                                                         
 1116 root      20   0  791548  44900      0 S  0.4  4.4   0:14.91 dockerd                                                                                                                                         
    1 root      20   0   37752   2664    864 D  0.2  0.3   0:06.00 systemd          

É difícil dizer o que está acontecendo, já que não consigo realmente obter muita informação (muito indiferente), mas é isso que eu vejo:

  • média de carga muito alta
  • vejo cerca de 20% - 30% da carga da CPU
  • não vejo alta utilização de IO / rede
  • Não consigo identificar quais processos estão na fila de execução

Como é possível ter uma média de carga alta e baixa utilização da CPU?

    
por dangonfast 06.04.2018 / 08:20

2 respostas

4

Você ficou sem memória e o sistema está se debatendo. Não há memória livre suficiente para manter todas as páginas de processo necessárias na memória, portanto o sistema operacional deve liberar algumas páginas para poder carregar as páginas necessárias do disco. Como você não tem swap, as páginas a serem liberadas não podem ser gravadas para trocar espaço, portanto, a única alternativa é descartar páginas de códigos somente leitura ou encolher o cache do buffer. Quando a execução avança para uma página que foi descartada, ela deve ser lida na RAM novamente, às custas de alguma outra página. Em algum momento, o problema fica tão ruim que a maior parte do tempo é gasto em esperar que as páginas sejam carregadas do disco e que pouquíssimos ciclos de CPU podem ser usados para trabalho útil.

Tente adicionar uma troca, embora isso possa ou não ajudar, dependendo dos padrões de carga de seus processos.

    
por 06.04.2018 / 08:42
0

Provavelmente um problema de ponto de montagem. Quando o sistema está tentando montar um ponto de montagem que não está disponível naquele momento, ele começará a aumentar a carga do sistema, embora você possa não ter experiência em algum processo que armazena a CPU.

Tente:

  1. executando mount e veja se há algum ponto de montagem que não pode ser alcançado naquele momento.
  2. Verificando /etc/fstab para todos os pontos de montagem definidos na hora de início e ver se algum deles não pode ser alcançado nesse momento.
por 06.04.2018 / 09:02

Tags