Użycie procesora w Linuksie

Twój serwer zwalnia? Pierwsze co w tej sytuacji powinieneś zbadać to użycie procesora przez procesy systemowe. Logujesz się więc na serwer, wydajesz komendę top i Twoim oczom ukazuje się coś podobnego do poniższego obrazka.

Co to jednak wszystko znaczy i jak na tej podstawie mam wyciągnąć jakieś wnioski? Co się dzieje z moim serwerem?

Statystyki procesora

Komenda top wyświetla nam wiele różnych danych o tym czym zajmuje się w danej chwili nasz procesor. Dla nas w tej chwili najważniejsza jest sekcja rozpoczynająca się od %Cpu(s).

  • 17,9 us – Mówi o tym, że nasz procesor 17,9% swojego czasu zajmuje się przetwarzaniem procesów przestrzeni użytkownika, tj wszystkich poleceń uruchomionych przez użytkowników serwera.
  • 13,4 sy – Jest całkowitym czasem procesora użytym na przetwarzanie zadań jądra systemu Linux. Jeśli procesy użytkownika potrzebują czegoś od systemu operacyjnego – moc procesora która jest wykorzystywana do tego celu zobrazowana jest tym parametrem.
  • 0,0 ni – Procesy przestrzeni użytkownika mogą być dodatkowo szeregowane używając parametru nice. Standardowo wszystkie procesy mają wartość 0, możemy jednak ręczne zmieniać priorytety w zakresie wartości od -20 do 19. Parametr ni określa jak duża część czasu procesora została wykorzystana na procesy ze zmodyfikowanym parametrem nice.
  • 68,0 id – Czas przez który nasz procesor nie robił nic w trakcie badanej próbki danych. Tyle mamy jeszcze zapasu mocy procesora w danej chwili.
  • 0,5 wa – Pokazuje ile czasu procesora zostało użyte na przetworzenie dyskowych operacji wejścia / wyjścia. W dosłownym tłumaczeniu – ile czasu procesor „zmarnował” oczekując na dostarczenie bądź zapisanie danych. Duża wartość wa świadczy o problemach z wydajnością systemu dyskowego serwera.
  • 0,0 hi, 0,2 si – Czas niezbędny na przetworzenie sprzętowych (hi) oraz programowych (si) przerwań. Duże wartości mogą sugerować jakiś problem ze sprzętem serwera.
  • 0,0 st – Wartość ta będzie różna od 0 jedynie w przypadku serwerów wirtualnych (VPS), oznacza ile czasu wirtualny procesor serwera oczekiwał na przetworzenie jego zadań przez fizyczny procesor maszyny na której został uruchomiony serwer. Duża wartość tego parametru oznacza, że serwer – host Twojego serwera VPS jest mocno obciążony i nie nadąża z przetwarzaniem odwołań od serwerów VPS.