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
- [Dodatkowe szczegóły dotyczące obliczania pamięci w różnych OS](http://blog.zabbix.com/when-alexei-isnt- looking#vm.memory.size)