Média de carga alta, cpu baixa

10

Meu servidor ficou mais lento e não sei por quê.

Imprimir de cima:

top - 14:32:50 up 639 days,  6:30,  1 user,  load average: 67.93, 70.63, 79.85
Tasks: 245 total,   1 running, 244 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.9% us,  0.5% sy,  0.0% ni, 94.5% id,  1.0% wa,  0.0% hi,  0.0% si
Mem:   1034784k total,  1021256k used,    13528k free,     4360k buffers
Swap:  1023960k total,   635752k used,   388208k free,    36632k cached

vmstat 10 6

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0 110 795604  12328   3980  46676    0    0     0     0    0     0  4  1 95  1
 0 97 788848  12052   3960  46256 2985   33  3323    33  429     0  2  1  0 97
 0 119 782660  13992   4096  45740 2780   14  2995   360  435     0  2  1  1 96
 0 121 775924  15600   3724  42796 3084    0  3443   136  440     0  2  1  0 98
 0 113 769392  13576   3476  41968 3002    0  3458     7  426     0  2  1  0 97
 0 113 762284  12440   3332  34884 3151    0  3553    61  427     0  2  1  0 97

doitprod2: / var / log # grep -c processador / proc / cpuinfo

2

iostat 2

 tps   Blk_czyt/s   Blk_zapis/s  Blk_czyt   Blk_zapis
sda             166,00      7128,00        52,00      14256        104

Ok, depois de matar e iniciar alguns processos agora está bom. Thx por sua ajuda de qualquer maneira.

Kamilos
fonte
você pode incluir a saída de vmstat 10 6? (isso vai demorar 60 segundos para executar) e tambémgrep -c processor /proc/cpuinfo
James C
As respostas / comentários em serverfault.com/q/482832/58957 listam mais razões e explicações para esses sintomas.
Nickolay

Respostas:

9

Você provavelmente está tendo processos no UNINTERRUPTIBLE_SLEEPestado, normalmente eles estão nesse estado porque aguardam algo do hardware, como a leitura de um disco. Esses processos estão efetivamente inativos (você tem 244 processos inativos), mas eles entram no cálculo de Média de carga. Verifique a IO do servidor vmstate veja se você tem muitos Dstatus em topou pspara confirmar.

EDIT: Ver sua vmstatsaída confirma ainda mais o problema de IO. Sua bcoluna abaixo procsmostra uma média de 100 processos em suspensão ininterrupta. Sua bicoluna (leitura de blocos de um dispositivo de bloco) é muito alta, assim como a sicoluna (leitura de memória de swap / disco). Por fim, sob o cpucabeçalho, a wacoluna mostra que sua CPU gasta mais de 90% aguardando a conclusão do IO.

Você deve verificar por que está tendo esses problemas com o IO. Pode haver falta de capacidade do servidor, processos em execução e outras razões, mas é definitivamente E / S.

coredump
fonte
1
Você pode começar a procurar o responsável usando iotop( apt-get install iotop). Além disso, na classificação superior regular por uso de memória, pressione O (que é o maiúsculo), depois n e digite. Os principais usuários de memória podem ser responsáveis ​​por todas as trocas.
11139 Eduardo Ivanec
2

Verifique o wa de 1,0% que você tem no topo, se ficar alto. Como você atingiu o arquivo de troca, pode haver uma possibilidade dos processos aguardarem a E / S

Verifique cat /proc/sys/fs/file-nrse o primeiro número está próximo ao terceiro (arquivos abertos versus total de arquivos abertos).

Você está em um VPS?

pataroulis
fonte
/ proc / sys / fs / arquivo-nr 3600 0 102712
Kamilos
Provavelmente, esclareceria se você pudesse compartilhar o tipo de software que está executando no servidor. (por exemplo, apache, tomcat, glassfish etc). Mas certamente, mais memória RAM (dupla ou mais) daria à sua máquina um ótimo impulso.
Pataroulis
1

O iowait (listado na última coluna como "wa") mostrado na saída vmstat é muito alto. E há muita paginação em andamento (páginas de dados sendo movidas entre a memória física e a troca baseada em disco).

Esta máquina se beneficiaria de mais RAM física.

James C
fonte