1 Parameter von vm.memory.size
Übersicht
Dieser Abschnitt enthält einige Parameterdetails für den Agent-Datenpunkt vm.memory.size[<mode>].
Parameter
Die folgenden Parameter sind für diesen Datenpunkt verfügbar:
- active - Speicher, der derzeit verwendet wird oder bis vor Kurzem verwendet wurde und sich daher im RAM befindet
- anon - Speicher, der keiner Datei zugeordnet ist (kann nicht daraus erneut eingelesen werden)
- available - verfügbarer Speicher, je nach Plattform unterschiedlich berechnet (siehe Tabelle unten)
- buffers - Cache für Dinge wie Dateisystem-Metadaten
- cached - Cache für verschiedene Dinge
- exec - ausführbarer Code, typischerweise aus einer (Programm-)Datei
- file - Cache für Inhalte kürzlich aufgerufener Dateien
- free - Speicher, der jeder Entität, die Speicher anfordert, unmittelbar zur Verfügung steht
- inactive - Speicher, der als nicht verwendet markiert ist
- pavailable - Speicher 'available' als Prozentsatz von 'total' (berechnet als
available/total*100) - pinned - dasselbe wie 'wired'
- pused - Speicher 'used' als Prozentsatz von 'total' (berechnet als
used/total*100) - shared - Speicher, auf den mehrere Prozesse gleichzeitig zugreifen können
- slab - Gesamtmenge des Speichers, den der Kernel zum Zwischenspeichern von Datenstrukturen für den eigenen Gebrauch verwendet
- total - insgesamt verfügbarer physischer Speicher
- used - verwendeter Speicher, je nach Plattform unterschiedlich berechnet (siehe Tabelle unten)
- wired - Speicher, der so markiert ist, dass er immer im RAM verbleibt. Er wird niemals auf den Datenträger verschoben.
Einige dieser Parameter sind plattformspezifisch und möglicherweise auf Ihrer Plattform nicht verfügbar. Siehe Zabbix agent items für Details.
Plattformspezifische Berechnung von available und used:
| Platform | "available" | "used" |
|---|---|---|
| AIX | free + cached | tatsächlich verwendeter Speicher |
| FreeBSD | inactive + cached + free | active + wired + cached |
| HP UX | free | total - free |
| Linux<3.14 | free + buffers + cached | total - free |
| Linux 3.14+ (auch nach 3.10 auf RHEL 7 zurückportiert) |
/proc/meminfo, siehe "MemAvailable" in der Linux-Kernel-Dokumentation für Details. Beachten Sie, dass free + buffers + cached nicht mehr gleich 'available' ist, da nicht der gesamte Page-Cache freigegeben werden kann und der Low-Watermark in der Berechnung verwendet wird. |
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 |
Die Summe von vm.memory.size[used] und vm.memory.size[available] entspricht nicht zwangsläufig dem Gesamtwert. Zum Beispiel unter FreeBSD:
* Active-, inactive-, wired- und cached-Speicher werden als verwendet betrachtet, weil sie nützliche Informationen enthalten.
* Gleichzeitig werden inactive-, cached- und free-Speicher als verfügbar betrachtet, weil diese Speicherarten Prozessen, die mehr Speicher anfordern, sofort zugewiesen werden können.
Damit ist inactive-Speicher gleichzeitig verwendet und verfügbar. Aus diesem Grund ist der Datenpunkt vm.memory.size[used] nur für Informationszwecke vorgesehen, während vm.memory.size[available] für die Verwendung in Auslösern vorgesehen ist.