Wysokie średnie obciążenie, niskie cpu

11

Mój serwer zwolnił i nie wiem dlaczego.

Drukuj od góry:

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, po zabiciu i uruchomieniu niektóre procesy są teraz w porządku. Dzięki za pomoc i tak.

Kamilos
źródło
możesz podać wynik vmstat 10 6? (uruchomienie zajmie 60 sekund), a takżegrep -c processor /proc/cpuinfo
James C
Odpowiedzi / komentarze na serverfault.com/q/482832/58957 zawierają więcej powodów i wyjaśnień tych objawów.
Nickolay

Odpowiedzi:

10

Prawdopodobnie masz procesy w UNINTERRUPTIBLE_SLEEPstanie, zwykle są one w tym stanie, ponieważ czekają na coś ze sprzętu, np. Czytanie z dysku. Procesy te skutecznie śpią (masz 244 procesy uśpienia), ale wchodzą w obliczenia średniej obciążenia. Sprawdź IO serwera za pomocą vmstati sprawdź, czy masz wiele Dstatusów na toplub psaby potwierdzić.

EDYCJA: Widząc twój vmstatwynik dalej potwierdza problem IO. Twoja bkolumna poniżej procspokazuje średnio 100 procesów w nieprzerwanym śnie. Twoja bikolumna (bloki odczytane z urządzenia blokowego) jest bardzo wysoka, podobnie jak sikolumna (pamięć odczytana z wymiany / dysku). Wreszcie pod cpunagłówkiem wakolumna pokazuje, że procesor wydaje ponad 90% na oczekiwanie na zakończenie operacji we / wy.

Musisz sprawdzić, dlaczego masz te problemy z IO. Może to być brak pojemności serwera, procesy działające w trybie dzikim i inne przyczyny, ale zdecydowanie IO.

rdzeń rdzeniowy
źródło
1
Możesz zacząć szukać osoby odpowiedzialnej za pomocą iotop( apt-get install iotop). Również przy regularnym sortowaniu u góry według użycia pamięci, naciśnij O (to duże o), a następnie n, a następnie wprowadź. Użytkownicy korzystający z najwyższej pamięci mogą być odpowiedzialni za całą wymianę.
Eduardo Ivanec
2

Sprawdź 1,0% wa, które masz na górze, jeśli robi się wysoko. Ponieważ trafiłeś do pliku wymiany, procesy mogą czekać na operacje we / wy

Sprawdź, cat /proc/sys/fs/file-nrczy pierwszy numer jest zbliżony do trzeciego (otwarte pliki vs całkowita liczba otwartych plików).

Czy jesteś na VPS?

pataroulis
źródło
/ proc / sys / fs / file-nr 3600 0 102712
Kamilos
Prawdopodobnie rzuciłoby to trochę światła, gdybyś mógł udostępniać oprogramowanie uruchomione na serwerze. (np. apache, tomcat, glassfish itp.). Ale z pewnością więcej pamięci RAM (podwójnej lub więcej) dałoby twojej maszynie niezły impuls.
pataroulis
2

Iowait (wymieniony w ostatniej kolumnie jako „wa”) pokazany w wyjściu vmstat jest bardzo wysoki. I trwa wiele stronicowania (strony danych są przenoszone między pamięcią fizyczną a wymianą dysku).

Ta maszyna skorzystałaby na bardziej fizycznym taranowaniu.

James C.
źródło