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监控项。
以下参数可用于此监控项:
available
/total
*100)使用
/总计
*100)其中一些参数是特定平台的,并且可能在您的平台上不适用。详细请查看 Items supported by platform 。
available 和 used 的平台特定计算:
平台 | "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] 在触发器中使用。