1 parametry vm.memory.size

Przegląd

Ta sekcja zawiera szczegółowe informacje o niektórych parametrach pozycji agent vm.memory.size[<mode>].

Parametry

Dla tej pozycji dostępne są następujące parametry:

  • active - pamięć aktualnie używana lub używana jeszcze bardzo niedawno, a więc znajdująca się w RAM
  • anon - pamięć niezwiązana z plikiem (nie można jej z niego ponownie odczytać)
  • available - dostępna pamięć, obliczana różnie w zależności od platformy (zobacz tabelę poniżej)
  • buffers - pamięć podręczna dla takich elementów jak metadane systemu plików
  • cached - pamięć podręczna dla różnych danych
  • exec - kod wykonywalny, zwykle pochodzący z pliku (programu)
  • file - pamięć podręczna zawartości ostatnio używanych plików
  • free - pamięć, która jest natychmiast dostępna dla każdego podmiotu żądającego pamięci
  • inactive - pamięć oznaczona jako nieużywana
  • pavailable - pamięć „available” jako procent wartości „total” (obliczana jako available/total*100)
  • pinned - to samo co „wired”
  • pused - pamięć „used” jako procent wartości „total” (obliczana jako used/total*100)
  • shared - pamięć, do której jednocześnie może uzyskiwać dostęp wiele procesów
  • slab - całkowita ilość pamięci używanej przez jądro do buforowania struktur danych na własne potrzeby
  • total - całkowita dostępna pamięć fizyczna
  • used - używana pamięć, obliczana różnie w zależności od platformy (zobacz tabelę poniżej)
  • wired - pamięć oznaczona jako mająca zawsze pozostawać w RAM. Nigdy nie jest przenoszona na dysk.

Niektóre z tych parametrów są specyficzne dla platformy i mogą nie być dostępne na Twojej platformie. Szczegóły znajdują się w pozycjach agenta Zabbix.

Obliczanie wartości available i used zależnie od platformy:

Platforma "available" "used"
AIX free + cached rzeczywiście używana pamięć
FreeBSD inactive + cached + free active + wired + cached
HP UX free total - free
Linux<3.14 free + buffers + cached total - free
Linux 3.14+
(również backportowane do 3.10 w RHEL 7)
/proc/meminfo, szczegóły można znaleźć w sekcji „MemAvailable” dokumentacji jądra Linux documentation.
Zwróć uwagę, że free + buffers + cached nie jest już równe „available”, ponieważ nie cała pamięć podręczna stron może zostać zwolniona, a w obliczeniach używany jest niski próg znaku wodnego.
total - free
NetBSD inactive + execpages + file + free total - free
OpenBSD inactive + free + cached active + wired
OSX inactive + free active + wired
Solaris free total - free
Win32 free total - free

Suma vm.memory.size[used] i vm.memory.size[available] nie musi być równa wartości total. Na przykład w FreeBSD:
* Pamięci active, inactive, wired i cached są uznawane za używane, ponieważ przechowują użyteczne informacje.
* Jednocześnie pamięci inactive, cached i free są uznawane za dostępne, ponieważ te rodzaje pamięci mogą zostać natychmiast przydzielone procesom żądającym większej ilości pamięci.

Tak więc pamięć inactive jest jednocześnie używana i dostępna. Z tego powodu pozycja vm.memory.size[used] jest przeznaczona wyłącznie do celów informacyjnych, natomiast vm.memory.size[available] jest przeznaczona do użycia w wyzwalaczach.

Zobacz także

  1. [Dodatkowe szczegóły dotyczące obliczania pamięci w różnych Systemach Operacyjnych](http://blog.zabbix.com/when-alexei-isnt- looking#vm.memory.size)