这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

2 参数vm.memory.size

  • total - 总物理内存.
  • free - 可用内存.
  • active - 内存当前使用或最近使用,所以它在RAM中。
  • inactive - 未使用内存.
  • wired - 被标记为始终驻留在RAM中的内存,不会移动到磁盘。
  • pinned - 和'wired'一样。
  • anon - 与文件无关的内存(不能重新读取)。
  • exec - 可执行代码,通常来自于一个(程序)文件。
  • file - 缓存最近访问文件的目录。
  • buffers - 缓存文件系统元数据。
  • cached - 缓存为不同事情。
  • shared - 可以同时被多个进程访问的内存。
  • used - active + wired 内存。
  • pused - active + wired 总内存的百分比。
  • available - inactive + cached + free 内存。
  • pavailable - inactive + cached + free memory 占'total'的百分比。

vm.memory.size[used]vm.memory.size[available] 的和不是必需等于总内存。 例如, 在FreeBSD中 active, inactive, wired, cached被认为是使用的内存, 因为他们存储一些有用的信息。
同样,inactive, cached, free 也被认为是可用内存, 因为这些内存可以立即被分配给需要更多内存的线程。
所以不活动的内存是同时可以是使用和可用的。 正因为如此, item vm.memory.size[used] 只用来获得信息, 监控项 vm.memory.size[available] 在触发器中使用。

参看本页底部 "另外见" 部分关于在不同的操作系统中内存计算的更多详细信息。

概述

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

Parameters

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

  • active - 当前正在使用或最近使用的内存,以及RAM中的内存
  • anon - 与文件无关的内存(不能读取)
  • available - 可用内存,计算方式不同,具体取决于平台(见下表)
  • buffers - 缓存文件系统元数据等内容
  • cached - 缓存各种内容
  • exec - 可执行代码,通常来自(程序)文件
  • file - 缓存最近访问的文件的内容
  • free - 任何实体都可以随时使用的内存
  • inactive - 标记为未使用的内存
  • pavailable - “可用”内存占“总”的百分比 (计算为 available/total*100)
  • pinned - 与“wired”相同
  • pused - “used”内存占“total”的百分比(计算为 使用/总计*100)
  • shared - 可以被多个同时访问的内存
  • slab - 内核用于缓存数据结构以供自己使用的内存总量
  • total - 总物理内存
  • used - 使用的内存,计算方式不同,具体取决于平台(见下表)
  • wired - 标记为始终保留在 RAM 中的内存。它永远不会移动到磁盘。

其中一些参数是特定平台的,并且可能在您的平台上不适用。详细请查看 Items supported by platform

availableused 的平台特定计算:

平台 "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+
(在 RHEL 7 上向后移植到 3.10内核)
/proc/meminfo, see "MemAvailable" 在 Linux 内核中 documentation 详细介绍.
请注意,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] 不一定等于总数。例如,在FreeBSD上:
* Active, inactive, wired, cached内存被认为是使用的,因为 他们存储一些有用的信息。
* 同时考虑 inactive, cached, free的内存 可用,因为这些类型的记忆可以立即给予 请求更多内存的进程。

所以不活动的内存是同时可以是使用和可用的。 正因为如此, 监控项vm.memory.size[used]只用来获得信息, 监控项 vm.memory.size[available] 在触发器中使用。

参见

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