On this page
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。
available 和 used 的平台特定计算方式:
| 平台 | "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] 则设计用于触发器中。