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