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 计算:

平台 "available" "used"
AIX free + cached 实际使用的内存
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 不再等于 'available',因为并非所有页面缓存都可以被释放,并且在计算中使用了低水位线。
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 内存被视为 used,因为它们存储了一些有用的信息。
* 同时,inactive, cached, free 内存被视为 available,因为这些类型的内存可以立即提供给请求更多内存的进程。

因此,inactive 内存同时被视为 used 和 available。由于这一点,vm.memory.size[used] 监控项 仅用于信息目的,而 vm.memory.size[available] 旨在用于触发器。

参见

1.关于不同操作系统内存计算的详细信息