1 vm.memory.size 参数

概述

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

参数

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

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

其中一些参数是平台特定的,可能在您的平台上不可用。详细信息请参见 Zabbix agent items

availableused 的平台特定计算方式:

平台 "available" "used"
AIX free + cached 实际使用的 memory
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,详细信息请参见 Linux 内核 documentation 中的 "MemAvailable"。
请注意,由于并非所有页缓存都可以释放以及计算中使用了低水位标记,free + buffers + cached 不再等于 '可用的'。
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] 的总和不一定等于 total。例如,在 FreeBSD 上:
* Active、inactive、wired、cached 内存被视为已使用,因为它们存储了一些有用的信息。
* 同时,inactive、cached、free 内存被视为可用,因为这些类型的内存可以立即分配给请求更多内存的进程。

因此,inactive memory 同时被视为已使用和可用。因此,vm.memory.size[used] 监控项 仅用于提供信息,而 vm.memory.size[available] 则设计用于触发器中。

另请参阅

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