Top 5 narzędzi do monitorowania wydajności Linuksa w czasie rzeczywistym
Wstęp: Dlaczego monitorowanie jest kluczowe?
Wydajność systemu Linux jest jak puls organizmu – regularne sprawdzanie pozwala wykryć problemy, zanim staną się krytyczne. Niezależnie od tego, czy zarządzasz serwerem produkcyjnym, czy po prostu chcesz zoptymalizować swój desktop, znajomość podstawowych narzędzi do monitorowania w czasie rzeczywistym jest absolutnie niezbędna.
W tym artykule przedstawimy Top 5 narzędzi wiersza poleceń, które pomogą Ci szybko zdiagnozować, co dzieje się z Twoim systemem.
1. top i htop - Królowie monitorowania procesów
top
top to klasyczne narzędzie, które dostarcza dynamicznego widoku procesów działających w systemie. Domyślnie sortuje procesy według zużycia CPU, odświeżając widok co kilka sekund.
top
Co warto wiedzieć o top:
- Pierwsza linia: Informacje o uptime, liczbie zalogowanych użytkowników,
load average(średnie obciążenie systemu - liczba procesów oczekujących na CPU). - Linia CPU: Procentowe zużycie CPU przez użytkowników (
us), system (sy),nice(procesy z zmienionym priorytetem),idle(nieaktywność CPU),wa(oczekiwanie na I/O). - Linie pamięci: Informacje o fizycznej pamięci RAM (
Mem) i pamięci SWAP (Swap). - Tabela procesów: Lista procesów z PID-em, użytkownikiem, zużyciem CPU, pamięci i czasem działania.
htop
htop to ulepszona, interaktywna wersja top, oferująca znacznie bardziej przyjazny dla użytkownika interfejs i dodatkowe funkcje.
htop
Zalety htop:
- Kolorowy interfejs: Łatwiejszy w czytaniu.
- Paski postępu: Graficzne przedstawienie zużycia CPU i pamięci.
- Interaktywność: Możliwość przewijania, sortowania (F6), filtrowania (F4) i zabijania procesów (F9) bezpośrednio w interfejsie.
- Widok drzewa: (F5) Pokazuje procesy w hierarchicznej strukturze.
2. vmstat - Szybka diagnostyka pamięci i I/O
vmstat (virtual memory statistics) to narzędzie do szybkiego podglądu aktywności pamięci wirtualnej, procesów, blokowych operacji I/O, pułapek i aktywności CPU. Jest idealne do szukania “wąskich gardeł”.
vmstat 1 5
Powyższe polecenie wyświetli 5 raportów, co 1 sekundę.
Kluczowe kolumny vmstat:
- Procs:
r(oczekujące na uruchomienie),b(uśpione, czekające na I/O). - Memory:
swpd(użycie SWAP),free(wolna pamięć),buff(bufor),cache(cache). - Swap:
si(swap-in, pamięć z dysku do RAM),so(swap-out, pamięć z RAM do dysku). Duże wartościsi/sowskazują na problemy z pamięcią! - IO:
bi(bloki odebrane),bo(bloki wysłane) – aktywność dysku. - CPU:
us(użytkownik),sy(system),id(bezczynny),wa(oczekiwanie na I/O). Dużewawskazuje na bottleneck I/O!
3. iostat - Detektyw wydajności dysków
Gdy podejrzewasz, że problemem jest wolny dysk, iostat (input/output statistics) jest Twoim narzędziem.
iostat -x 1 5
Powyższe polecenie wyświetli 5 raportów, co 1 sekundę, z rozszerzonymi statystykami.
Kluczowe kolumny iostat -x:
%util: Procent czasu, przez jaki urządzenie I/O było zajęte. Wartości bliskie 100% oznaczają przeciążenie dysku!await: Średni czas (w ms), jaki operacja I/O czekała w kolejce + czas jej wykonania. Wysokieawaitto problem!%iowait(zvmstat): Czas, w którym CPU czekało na zakończenie operacji I/O. Duże wartości to bottleneck dyskowy.
4. ss (Socket Statistics) - Analiza połączeń sieciowych
ss to nowocześniejszy następca netstat, służący do wyświetlania informacji o otwartych gniazdach (socketach). Jest znacznie szybszy i oferuje więcej szczegółów.
ss -tuln
Powyższe polecenie wyświetli otwarte porty TCP (t) i UDP (u), w trybie nasłuchu (l), z numerami portów zamiast nazw usług (n).
Przykłady użycia ss:
ss -s: Podsumowanie statystyk połączeń.ss -tnp: Aktywne połączenia TCP, pokaż PID procesów.ss -lp 'sport = :ssh': Pokaż procesy nasłuchujące na porcie SSH.
5. nmon - Wszystko w jednym, interaktywny kombajn
nmon (Nigel’s Monitor) to interaktywne narzędzie, które łączy w sobie funkcjonalność wielu innych. Wyświetla zużycie CPU, pamięci, dysków, sieci i wiele innych, w jednym, odświeżanym widoku.
nmon
Zalety nmon:
- Wszystko w jednym: Nie musisz przełączać się między różnymi narzędziami.
- Interaktywność: Klawisze takie jak
c(CPU),m(pamięć),d(dyski),n(sieć) przełączają widoki. - Eksport danych: Możliwość eksportu danych do pliku w formacie, który można później zaimportować do arkusza kalkulacyjnego do analizy.
Podsumowanie
Znajomość tych pięciu narzędzi to solidna podstawa do monitorowania i diagnozowania problemów wydajnościowych w Linuksie. Pamiętaj, że każdy system jest inny, a kluczem jest praktyka i zrozumienie, co oznaczają poszczególne metryki. Wybierz narzędzie odpowiednie do zadania i zacznij obserwować swój system!