1 parametri vm.memory.size
Panoramica
Questa sezione fornisce alcuni dettagli sui parametri per l'item agent vm.memory.size[<mode>].
Parametri
Per questo item sono disponibili i seguenti parametri:
- active - memoria attualmente in uso o usata molto di recente e quindi presente in RAM
- anon - memoria non associata a un file (non può essere riletta da esso)
- available - memoria disponibile, calcolata in modo diverso a seconda della piattaforma (vedere la tabella sotto)
- buffers - cache per elementi come i metadati del file system
- cached - cache per vari elementi
- exec - codice eseguibile, tipicamente proveniente da un file (di programma)
- file - cache per il contenuto di file a cui si è avuto accesso di recente
- free - memoria immediatamente disponibile a qualsiasi entità che ne faccia richiesta
- inactive - memoria contrassegnata come non utilizzata
- pavailable - memoria 'available' come percentuale di 'total' (calcolata come
available/total*100) - pinned - uguale a 'wired'
- pused - memoria 'used' come percentuale di 'total' (calcolata come
used/total*100) - shared - memoria a cui possono accedere simultaneamente più processi
- slab - quantità totale di memoria usata dal kernel per memorizzare nella cache strutture dati per uso interno
- total - memoria fisica totale disponibile
- used - memoria utilizzata, calcolata in modo diverso a seconda della piattaforma (vedere la tabella sotto)
- wired - memoria contrassegnata per rimanere sempre in RAM. Non viene mai spostata su disco.
Alcuni di questi parametri sono specifici della piattaforma e potrebbero non essere disponibili sulla propria piattaforma. Vedere Zabbix agent items per i dettagli.
Calcolo specifico per piattaforma di available e used:
| Platform | "available" | "used" |
|---|---|---|
| AIX | free + cached | memoria reale in uso |
| FreeBSD | inactive + cached + free | active + wired + cached |
| HP UX | free | total - free |
| Linux<3.14 | free + buffers + cached | total - free |
| Linux 3.14+ (retroportato anche a 3.10 su RHEL 7) |
/proc/meminfo, vedere "MemAvailable" nella documentazione del kernel Linux per i dettagli. Si noti che free + buffers + cached non è più uguale ad 'available' perché non tutta la page cache può essere liberata e nel calcolo viene usata la 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 |
La somma di vm.memory.size[used] e
vm.memory.size[available] non è necessariamente uguale al totale. Ad
esempio, su FreeBSD:
* Le memorie active, inactive, wired e cached sono considerate usate, perché
memorizzano informazioni utili.
* Allo stesso tempo, le memorie inactive, cached e free sono considerate
disponibili, perché questi tipi di memoria possono essere assegnati immediatamente ai
processi che richiedono più memoria.
Quindi la memoria inactive è contemporaneamente sia usata sia disponibile. Per questo motivo,
l'item vm.memory.size[used] è progettato solo a scopo informativo, mentre vm.memory.size[available] è progettato per essere
usato nei trigger.