VMSTAT - Monitorowanie pamięci i procesów w Linux za pomocą przykładów

VMSTAT - Monitorowanie pamięci i procesów w Linux za pomocą przykładów

W świecie administracji systemu Linuksa monitorowanie i zrozumienie wydajności systemu ma kluczowe znaczenie dla zapewnienia sprawnego działania. Jednym z takich niezbędnych narzędzie do monitorowania jest „VMSTAT” - Wszechstronne narzędzie wiersza poleceń, które zapewnia wnikliwe statystyki dotyczące pamięci, procesów systemu Linuksa, IO i CPU.

W tym artykule zagłębimy się w użycie i różne opcje polecenia VMSTAT, zbadamy praktyczne przykłady i dowiedz się, jak interpretować dane wyjściowe w celu diagnozowania potencjalnych problemów z wydajnością.

Co to jest VMSTAT?

Statystyka pamięci wirtualnej (VMSTAT) to narzędzie Unix/Linux, które gromadzi i wyświetla informacje o pamięci, procesorach, procesach i operacjach IO. Jest to potężne i łatwe w użyciu narzędzie do zrozumienia, w jaki sposób system wykorzystuje swoje zasoby, identyfikuje wąskie gardła i diagnozowanie problemów z wydajnością.

Instalacja

VMSTAT jest wstępnie zainstalowany w większości dystrybucji Linux. Jeśli jednak nie jest jeszcze zainstalowany, możesz go łatwo uzyskać, instalując pakiet „Sysstat”:

  • W systemach opartych na Debian/Ubuntu:
    sudo apt-get instaluj sysstat  
  • Dla systemów opartych na RHEL/Centos/Fedora:
    sudo yum instaluj sysstat  

Podstawowe użycie

Podstawowa składnia polecenia VMSTAT jest następujące:

VMSTAT [opcje] [opóźnienie] [Count]
1VMSTAT [opcje] [opóźnienie] [Count]
  • Opcje: Flagi, które modyfikują zachowanie polecenia lub określają typ informacji do wyświetlenia.
  • opóźnienie: Przedział czasu (w sekundach) między aktualizacjami. Domyślnie to 1 sekunda.
  • liczyć: Liczba aktualizacji do wyświetlenia przed wyjściem. Domyślnie VMSTAT będzie nadal działał na czas nieokreślony.

Aby wyświetlić podstawowe statystyki systemu, po prostu uruchom polecenie bez żadnych opcji:

VMSTAT  

Zrozumienie wyjścia VMSTAT

Wyjście polecenia VMSTAT jest wyświetlane w formacie tabelarycznym, przy czym każdy wiersz reprezentuje migawkę stanu systemu w określonym czasie.

Kolumny w wyjściu to:

  1. Proces
    • R: Liczba procesów runnych (uruchamianie lub oczekiwanie na czas działania).
    • B: Liczba procesów w nieprzerwanym stanie snu.
  2. Pamięć
    • SWPD: Ilość używanej pamięci wirtualnej (w KB).
    • bezpłatny: Ilość pamięci bezczynności (w KB).
    • polerować: Ilość pamięci używanej jako bufory (w KB).
    • Pamięć podręczna: Ilość pamięci używanej jako pamięć podręczna (w KB).
  3. Zamieniać
    • si: Ilość pamięci zamienionej z dysku (w KB/s).
    • Więc: Ilość pamięci zamienionej na dysk (w KB/s).
  4. Io
    • bi: Liczba bloków otrzymanych z urządzenia blokowego (bloki/s).
    • Bo: Liczba bloków wysłanych do urządzenia blokowego (bloki/s).
  5. System
    • W: Liczba przerw na sekundę, w tym zegar.
    • Cs: Liczba przełączników kontekstowych na sekundę.
  6. procesor
    • nas: Procent czasu spędzonego na uruchomieniu kodu niezwiązanego z kodem (czas użytkownika).
    • Sy: Procent czasu spędzonego na uruchomieniu kodu jądra (czas systemowy).
    • ID: Procent czasu spędzonego.
    • wa: Procent czasu spędzonego na oczekiwaniu na IO.

Praktyczne przykłady

  • Wyświetl ciągłe aktualizacje co 2 sekundy:
    VMSTAT 2  
  • Monitoruj statystyki systemowe co 2 sekundy dla łącznie 5 aktualizacji:
    VMSTAT 2 5  
  • Wyświetl tylko informacje związane z procesorem:
    VMSTAT -C  
  • Wyświetl aktywną i nieaktywną pamięć:
    VMSTAT -A  

    To polecenie zgłasza aktywną i nieaktywną pamięć w systemie, zapewniając więcej wglądu w wzorce użytkowania pamięci.

  • Wyświetl znaczniki czasu:
    vmstat -t  

    To polecenie dodaje znacznik czasu do każdego wiersza wyjściowego, co ułatwia śledzenie zmian w czasie.

  • Wyświetl tylko określone pola:
    vmstat -s 

    To polecenie wyświetla bardziej szczegółowy raport pola po polu na temat użytkowania pamięci wirtualnej systemu.

  • Wyświetl statystyki dysku:
    VMSTAT -D 

    To polecenie pokazuje statystyki aktywności dysku, takie jak odczyty, zapisy i operacje we/wy.

  • Wyświetl wyjście w określonej jednostce:
    jednostka VMSTAT -s 

    Wymień „Jednostkę” na pożądaną jednostkę pomiaru (K: Kilobaytes, K: 1000 bajtów, M: Megabajtes, M: 1000000 bajtów). Na przykład VMSTAT -S M wyświetli dane wyjściowe w megabajtach.

Interpretacja danych wyjściowych VMSTAT

Analizując wyjście VMSTAT, możesz zidentyfikować potencjalne wąskie gardła i problemy z wydajnością. Oto kilka wskazówek, które pomogą interpretować wyniki:

  • Procesy o wysokiej rundzie (kolumna procs „r”): Jeśli liczba procesów uruchomionych jest konsekwentnie wysoka, może to wskazywać, że system ma wysokie obciążenie procesora i może być konieczne zoptymalizowanie aplikacji lub uaktualnienia procesora.
  • Wysokie nieprzerwane procesy snu (kolumna PROCS „B”): Duża liczba procesów w nieprzerwanym sodzie może wskazywać, że Twój system doświadcza wąskich gardeł IO, które mogą być spowodowane powolnym dostępem do dysku lub niewystarczającą pamięcią.
  • Użycie pamięci (kolumny pamięci: SWPD, bezpłatny, buff, pamięć podręczna): Monitoruj zużycie pamięci, aby Twój system ma wystarczającą ilość bezpłatnej pamięci. Jeśli „SWPD” Wartość jest konsekwentnie wysoka, może wskazywać, że system wykorzystuje zbyt dużo przestrzeni swapowej, co może znacznie obniżyć wydajność. Rozważ optymalizację aplikacji lub dodanie większej pamięci fizycznej.
  • Aktywność wymiany (kolumny swap: SI, SO): Częste zamianę może prowadzić do słabej wydajności. Jeśli wartości „si” i „so” są konsekwentnie wysokie, może to wskazywać, że twój system używa zbyt dużej przestrzeni swapowej. Może być konieczne zoptymalizowanie aplikacji lub dodania większej pamięci fizycznej.
  • Aktywność IO (kolumny IO: BI, BO): Wysoka aktywność IO może powodować wąskie gardła. Jeśli „Bi” I „bo” Wartości są konsekwentnie wysokie, może wskazywać, że system doświadcza ciężkiej aktywności dysku. Rozważ optymalizację aplikacji, aktualizację systemu pamięci lub dystrybucja obciążenia na wiele dysków.
  • Zastosowanie procesora (kolumny procesora: us, SY, ID, WA): Monitoruj wykorzystanie procesora, aby upewnić się, że system nie jest przeciążony. Wysoki 'nas' I „SY” Wartości wskazują, że procesor spędza znaczną ilość czasu na realizacji procesów użytkownika i systemu. Jeśli te wartości są konsekwentnie wysokie, rozważ optymalizację aplikacji lub zaktualizowanie procesora. Wysokie wartości „wa” wskazują, że procesor spędza dużo czasu na czekanie na IO, co może być oznaką wąskich gardeł IO.

Wniosek

VMSTAT to potężne i wszechstronne narzędzie do monitorowania systemów Linux, zapewniające cenne wgląd w pamięć, procesy, IO i CPU. Rozumiejąc wyniki VMSTAT i wykorzystując go do diagnozowania potencjalnych problemów z wydajnością, możesz zoptymalizować system i upewnić się, że działa płynnie i wydajnie.