1 vm.memory.size 参数

概述

本节提供 vm.memory.size[<mode>] agent 监控项 的一些参数详细信息。

参数

以下参数可用于此监控项:

  • active - 当前正在使用或最近刚使用的内存,因此它位于 RAM 中
  • anon - 未与文件关联的内存(无法从文件中重新读取)
  • available - 可用内存,具体计算方式因平台而异(见下表)
  • buffers - 用于文件系统元数据等内容的缓存
  • cached - 各类内容的缓存
  • exec - 可执行代码,通常来自(程序)文件
  • file - 最近访问过的文件内容缓存
  • free - 可随时提供给任何请求内存的实体的内存
  • inactive - 标记为未使用的内存
  • pavailable - “available” 内存占 “total” 的百分比(计算公式为 available/total*100)
  • pinned - 与 “wired” 相同
  • pused - “used” 内存占 “total” 的百分比(计算公式为 used/total*100)
  • shared - 可被多个进程同时访问的内存
  • slab - 内核为自身使用而缓存数据结构所使用的内存总量
  • total - 可用的物理内存总量
  • used - 已使用内存,具体计算方式因平台而异(见下表)
  • wired - 标记为始终保留在 RAM 中的内存。它不会被移到磁盘。

其中一些参数是平台相关的,可能在您的平台上不可用。详情请参见 Zabbix agent items

availableused 的平台相关计算方式:

Platform "available" "used"
AIX free + cached real memory in use
FreeBSD inactive + cached + free active + wired + cached
HP UX free total - free
Linux<3.14 free + buffers + cached total - free
Linux 3.14+
(also backported to 3.10 on RHEL 7)
/proc/meminfo, see "MemAvailable" in Linux kernel documentation for details.
Note that free + buffers + cached is no longer equal to 'available' due to not all the page cache can be freed and low watermark being used in calculation.
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

vm.memory.size[used]vm.memory.size[available] 的总和不一定等于总量。例如,在 FreeBSD 上:
* 活跃、非活跃、wired、cached 内存都被视为已使用,因为它们存储了一些有用信息。
* 同时,非活跃、cached、free 内存都被视为可用,因为这些内存可以立即分配给请求更多内存的进程。

因此,非活跃内存会同时被视为已使用和可用。正因如此,vm.memory.size[used] 监控项仅用于信息展示,而 vm.memory.size[available] 监控项则设计用于触发器中。

另请参阅

  1. 有关不同操作系统中 memory 计算的更多详细信息