2 参数vm.memory.size

概述

本节提供有关agent监控项vm.memory.size[<mode>]参数更多详细信息和特定于平台的信息 .

参数

  • 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’的百分比。

其中一些参数是特定于平台的,可能在您的平台上不可用。 参考关于平台支持监控项详细信息。

特定平台的availableused的计算:

平台“available”“used”
AIXfree + cachedreal memory in use
FreeBSDinactive + cached + freeactive + wired + cached
HP UXfreetotal - free
Linux<3.14free + buffers + cachedtotal - free
Linux 3.14+
(也支持RHEL 7的3.10内核)
/proc/meminfo, 参考”MemAvailable”在Linux kernel详细文档
Note that free + buffers + cached 不等于 ‘available’ 由于不是所有页面缓存都可以释放,计算中使用的水位很低。
total - free
NetBSDinactive + execpages + file + freetotal - free
OpenBSDinactive + free + cachedactive + wired
OSXinactive + freeactive + wired
Solarisfreetotal - free
Win32freetotal - 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. 关于不同操作系统内存计算的详细信息