Polecenie Vmstat w systemie Linux

Polecenie Vmstat W Systemie Linux



W tym przewodniku pokażemy różne sposoby używania polecenia „vmstat” w systemie Linux.

Warunki wstępne:

Do wykonania kroków przedstawionych w tym przewodniku potrzebne są następujące komponenty:

Pamięć wirtualna w systemie Linux

Ilość pamięci fizycznej, zwanej także RAM, jest skończona. Jądro jest odpowiedzialne za dystrybucję tej przestrzeni pomiędzy wszystkie działające programy. Wszystkie uruchomione programy (w tym system operacyjny) znajdują się w pamięci RAM.







Jeśli jednak zapotrzebowanie na pamięć jest większe niż dostępna, powoduje to po prostu awarię systemu (lub program poprosi o więcej miejsca w pamięci). W większości sytuacji jest to niepożądany wynik. Tutaj z pomocą przychodzi pamięć wirtualna.



Pamięć wirtualna oznacza wydzieloną przestrzeń dyskową na dysku twardym/SSD, która w krytycznych sytuacjach może służyć jako dodatkowa pamięć. Ponieważ działa jako przestrzeń RAM (ale tak naprawdę nie), jest uważana za „wirtualną”. W systemach UNIX/Linux spacje te nazywane są przestrzeniami wymiany.



Jądro Linuksa przenosi bloki pamięci do przestrzeni wymiany i w razie potrzeby pobiera je z powrotem do pamięci RAM.





Wydajność pamięci wirtualnej jest zdecydowanie wolniejsza niż pamięci fizycznej i jest wprost proporcjonalna do wydajności urządzenia magazynującego. Jednak w określonych konfiguracjach sprzętowych (na przykład przy użyciu dysku SSD NVMe) wydajność może być równoważna pamięci RAM.

Polecenie Vmstat

Polecenie „vmstat” to narzędzie monitorujące, które raportuje różne informacje o pamięci wirtualnej. Jest dostępny na wszystkich systemach Linux jako część pakietu „sysstat”.



Struktura poleceń „vmstat” jest następująca:

$ vmstat < opcje > < opóźnienie > < liczyć >

Podstawowe użycie

Jeśli zostanie uruchomiony bez żadnego parametru, „vmstat” wypisuje informacje o systemie od ostatniego uruchomienia:

$ vmstat

Dane wyjściowe są podzielone na sześć segmentów:

  • procesy : Statystyka aktualnie uruchomionych procesów
    • R : Liczba aktywnych procesów
    • B : Liczba procesów uśpienia
  • pamięć : Statystyki wykorzystania pamięci
    • swpd : Całkowita ilość pamięci wirtualnej (przestrzeń wymiany)
    • bezpłatny : Dostępna przestrzeń wymiany
    • polerować : Ilość przestrzeni wymiany używanej jako tymczasowa pamięć buforowa
    • Pamięć podręczna : Całkowita pamięć podręczna
  • zamieniać : Statystyki dotyczące przestrzeni wymiany
    • Tak : Stopa zamiany
    • Więc : Stopień wymiany
  • Ten : Statystyki we/wy
    • z : Liczba bloków odebranych z urządzeń blokujących
    • Być : Liczba bloków wysłanych do urządzeń blokujących
  • system : Statystyki dotyczące harmonogramu
    • W : Liczba przerwań systemowych
    • cs : Szybkość przełączania kontekstu
  • procesor : Różne statystyki procesora
    • nas : Procesor spędza czas na procesach innych niż jądro
    • I : Procesor spędza czas na procesach jądra
    • ID : Procesor spędza czas na biegu jałowym
    • z : Czas procesora spędzany w oczekiwaniu na zakończenie operacji we/wy
    • ul : Czas procesora używany przez maszynę wirtualną

Zmiana jednostki wyświetlacza

Domyślnie „vmstat” podaje wartości pamięci w kilobajtach. Aby zmienić jednostkę, użyj przycisku „ -S ' flaga:

$ vmstat -S < argument >

Tutaj „vmstat” wypisuje wartości w megabajtach.

Dostępnych jest kilka jednostek pamięci:

  • M : 1048576 bajtów (2^20 bajtów)
  • M : 1000000 bajtów (1000 kilobajtów)
  • K : 1024 bajty (1 megabajt)
  • k : 1000 bajtów (1 kilobajt)

Ciągła aktualizacja statystyk

Domyślnie „vmstat” drukuje raport raz. Możemy jednak poinstruować „vmstat”, aby dostarczał ciągłe raporty w określonych odstępach czasu (w sekundach).

Struktura poleceń jest następująca:

$ vmstat < opóźnienie >

Na przykład, aby uzyskać aktualizowane statystyki co 2 sekundy, polecenie wygląda następująco:

$ vmstat 2

Wyjście nie zostanie zatrzymane, chyba że zostanie ręcznie zakończone za pomocą „Ctrl + C”.

Alternatywnie możemy określić „vmstat”, aby zapewnić statystyki określoną liczbę razy:

$ vmstat < opóźnienie > < liczyć >

Na przykład, aby uzyskać aktualizowane statystyki co 2 sekundy 5 razy, polecenie wygląda następująco:

$ vmstat 2 5

Pamięć aktywna i nieaktywna

Pamięć aktywna odnosi się do przestrzeni pamięci aktualnie używanej przez proces. Z drugiej strony pamięć nieaktywna odnosi się do przestrzeni pamięci przydzielonej procesowi, który już nie działa.

Za pomocą „vmstat” możemy sprawdzić ilość używanych pamięci aktywnych i nieaktywnych:

$ vmstat -A

Tutaj kolumny „wzmocnienie” i „pamięć podręczna” zostały zastąpione odpowiednio kolumnami „nieaktywne” i „aktywne”.

Pamięć i planowanie

Aby uzyskać bardziej szczegółowy raport na temat pamięci i harmonogramu, użyj następującego polecenia:

$ vmstat -S

Tutaj:

  • Sekcja 1: Ta sekcja dotyczy podstawowych informacji o systemie, takich jak całkowita pamięć fizyczna, pamięć aktywna/nieaktywna, pamięć wolna/buforowa/podręczna itp.
  • Sekcja 2: Różne statystyki procesora
    • Nieprzyjemne tykanie procesora : Ile razy procesy o wysokim priorytecie wykorzystywały procesor.
    • Ładne tykanie procesora : Liczba przypadków użycia procesora przez procesy o niższym priorytecie.
    • Procesor systemowy tyka : Liczba przypadków wykorzystania procesora przez procesy jądra.
    • Bezczynność procesora tyka : Liczba bezczynności procesora.
    • IO-czekaj, zaznacza procesor : Liczba przypadków oczekiwania procesora na zarządzanie we/wy.
    • Przerwanie : Liczba przypadków, w których procesor otrzymał żądania przerwania.
    • softirq : Liczba odebranych przez procesor żądań przerwania programowego.
    • skradzione znaczniki procesora : Liczba przypadków kradzieży czasu procesora przez maszyny wirtualne.
  • Sekcja 3: Statystyki stronicowania pamięci
  • Sekcja 4: Liczniki zdarzeń

Widelce od czasu rozruchu

Forki odnoszą się do procesów, które powstały w wyniku istniejących procesów. Aby uzyskać statystyki dotyczące liczby forków, uruchom następującą komendę:

$ vmstat -F

Statystyki dysków i partycji

Polecenie „vmstat” może również dostarczyć informacji o aktywności dysku. Aby uzyskać szybkie podsumowanie aktywności dysku, uruchom następującą komendę:

$ vmstat -D

Aby uzyskać bardziej szczegółowy raport o aktywności dysku (w tym statystyki odczytu/zapisu), użyj zamiast tego następującego polecenia:

$ vmstat -D

Tutaj:

  • Czyta
    • całkowity : Całkowita liczba odczytów dysku
    • połączone : Całkowita liczba odczytów grupy
    • sektory : Całkowita liczba odczytanych sektorów
    • SM : Całkowity czas odczytu danych z dysku (w milisekundach)
  • Pisze
    • całkowity : Całkowita liczba zapisów na dysku
    • połączone : Całkowita liczba zapisów grupy
    • sektory : Całkowita liczba zapisanych sektorów
    • SM : Całkowity czas zapisu na dysku (w milisekundach)
  • IO
    • umieścić : Całkowity bieżący odczyt/zapis na dysku
    • sek : Ilość czasu spędzonego na trwającej operacji odczytu/zapisu (w sekundach)

Komenda „vmstat” może również generować raporty dla określonej partycji dysku. Aby uzyskać raport partycji, użyj następującej struktury poleceń:

$ vmstat -P < identyfikator_partycji >

Statystyki płyty

Alokacja płyt ma być wydajnym mechanizmem alokacji pamięci obiektów. W porównaniu do poprzednich mechanizmów, alokacja płyt zapewnia redukcję fragmentacji pamięci (spowodowanej alokacją i dezalokacją pamięci).

Aby sprawdzić statystyki płyty systemu należy użyć komendy „vmstat”:

$ sudo vmstat -M

Pamiętaj, że do przeglądania statystyk wymagane są uprawnienia roota.

Tutaj:

  • Pamięć podręczna : Nazwa danych w pamięci podręcznej
  • na jednego : Liczba obiektów aktywnych w pamięci podręcznej Num
  • Całkowity : Całkowita liczba obiektów w określonej pamięci podręcznej
  • Rozmiar : Rozmiar buforowanych obiektów
  • Strony : Liczba stron pamięci zawierających obiekty w pamięci podręcznej

Wniosek

W tym przewodniku przedstawiliśmy różne sposoby korzystania z polecenia „vmstat”. Oprócz pamięci wirtualnej „vmstat” może również raportować statystyki dysku, forki, płyty i inne.

Chcesz poznać inne narzędzia do monitorowania systemu? Dowiedz się więcej o góra , zabić , ps itp.

Miłego liczenia!