Alto carico medio, basso cpu


10

Il mio server è rallentato e non so perché.

Stampa dall'alto:

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 processor / 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, dopo uccidere e avviare alcuni processi ora va bene. Grazie comunque per il tuo aiuto.


puoi includere l'output di vmstat 10 6? (ci vorranno 60 secondi per correre) e anchegrep -c processor /proc/cpuinfo
James C

Le risposte / i commenti su serverfault.com/q/482832/58957 elencano ulteriori motivi e spiegazioni per questi sintomi.
Nickolay,

Risposte:


9

Probabilmente stai avendo dei processi sullo UNINTERRUPTIBLE_SLEEPstato, normalmente sono su quello stato perché stanno aspettando qualcosa dall'hardware come leggere da un disco. Tali processi stanno effettivamente dormendo (hai 244 processi a riposo) ma entrano nel calcolo della media del carico. Controlla l'IO del tuo server con vmstate vedi se hai molti Dstati attivi topo psper confermare.

EDIT: vedere l' vmstatoutput conferma ulteriormente il problema IO. La bcolonna sotto procsmostra una media di 100 processi in modalità di sospensione ininterrotta. La tua bicolonna (blocchi letti da un dispositivo a blocchi) è molto alta, così come la sicolonna (memoria letta da swap / disco). Infine, sotto l' cpuintestazione, la wacolonna mostra che la tua CPU spende più del 90% in attesa del completamento di IO.

È necessario verificare il motivo per cui si verificano tali problemi con IO. Può essere la mancanza di capacità del server, i processi in esecuzione selvaggia e alcuni altri motivi, ma è definitivamente IO.


1
Puoi iniziare a cercare il responsabile utilizzando iotop( apt-get install iotop). Inoltre, sul normale ordinamento superiore in base all'uso della memoria premendo O (che è una o maiuscola), quindi n, quindi immettere. Gli utenti della memoria principale potrebbero essere responsabili di tutto lo scambio.
Eduardo Ivanec,

2

Controlla l'1,0% che hai in cima se diventa alto. Poiché hai colpito il file di scambio, potrebbe esserci la possibilità che i processi attendano l'I / O

Controlla cat /proc/sys/fs/file-nrse il primo numero è vicino al terzo (file aperti vs file totali aperti).

Sei su un VPS?


/ proc / sys / fs / file-nr 3600 0 102712
Kamilos

Probabilmente farebbe luce se si potesse condividere il tipo di software in esecuzione sul server. (es. apache, tomcat, glassfish ecc.). Ma sicuramente, più ram (doppio o più) darebbe una bella spinta alla tua macchina.
pataroulis,

1

Lo iowait (elencato nell'ultima colonna come "wa") mostrato nell'output di vmstat è molto alto. E ci sono molti paging in corso (pagine di dati che vengono spostate tra la memoria fisica e lo swap basato su disco).

Questa macchina trarrebbe beneficio da una ram più fisica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.