2 Parametry vm.memory.size

Przegląd

Ta sekcja zawiera szczegółowe informacje na temat parametrów pozycji agenta vm.memory.size[<mode>].

Parametry

Dla tego elementu dostępne są następujące parametry:

  • active - pamięć aktualnie używana lub bardzo niedawno używana i jest w RAMie
  • anon - pamięć niepowiązana z plikiem (nie można jej ponownie odczytać z niego)
  • available - dostępna pamięć, obliczana różnie w zależności od platformy (patrz tabela poniżej)
  • buffers - pamięć podręczna dla metadanych systemu plików
  • cached - pamięć podręczna dla różnych elementów
  • exec - kod wykonywalny, zwykle z pliku (programu)
  • file - pamięć podręczna dla zawartości niedawno używanych plików
  • free - pamięć dostępna, gotowa do użycia przez dowolny obiekt
  • inactive - pamięć oznaczona jako nieużywana
  • pavailable - pamięć "available" jako procent "total" (obliczana jako available/total*100)
  • pinned - to samo co 'wired'
  • pused - pamięć "used" jako procent "total" (obliczana jako used/total*100)
  • shared - pamięć, do której mogą jednocześnie uzyskiwać dostęp różne procesy
  • slab - całkowita ilość pamięci używana przez jądro do buforowania struktur danych do własnego użytku
  • total - całkowita dostępna pamięć fizyczna
  • used - używana pamięć, obliczana różnie w zależności od platformy (patrz tabela poniżej)
  • wired - pamięć oznaczona jako zawsze pozostająca 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ółowe informacje znajdziesz w sekcji Pozycje wspierane przez platformę.

Obliczenia available i used dla specyficznej platformy::

Platforma "available" "used"
AIX free + cached rzeczywista pamięć używana
FreeBSD inactive + cached + free active + wired + cached
HP UX free total - free
Linux<3.14 free + buffers + cached total - free
Linux 3.14+
(także wstecznie przeniesione do 3.10 w RHEL 7)
/proc/meminfo, patrz "MemAvailable" w dokumentacji jądra Linuxa po więcej szczegółów.
Zauważ, że free + buffers + cached nie jest już równe 'available' z powodu braku możliwości zwolnienia całego bufora stronic, a do obliczeń używany jest low watermark.
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 total. Na przykład na FreeBSD:
* Pamięć Active, inactive, wired, cached są uważane za used, ponieważ przechowują niektóre użyteczne informacje.
* Jednocześnie pamięć inactive, cached, free są uważane za available, ponieważ tego rodzaju pamięć może być natychmiastowo udostępniana procesom żądającym więcej pamięci.

Dlatego też pamięć inactive jest jednocześnie uznawana za used i available. Z tego powodu pozycja vm.memory.size[used] jest przeznaczona tylko do celów informacyjnych, podczas gdy 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 OS