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.

Siehe auch

  1. Zusätzliche Details zur Speicherberechnung in verschiedenen Betriebssystemen