本节提供vm.memory.size[<mode>] agent 监控项的部分参数详细信息.
此监控项支持以下参数:
活跃 - memory 当前正在使用或最近使用过,因此 它在RAM中
匿名 - memory 未关联到 file(无法重新读取) 它
可用 - 可用 memory, 根据不同的计算方式 在该平台上(见下表)
buffers - 用于缓存如file系统元数据的区域
cached - 用于存储各类数据的缓存
exec - 可执行代码,通常来自(程序)file
file - 用于存储最近访问文件内容的缓存
free - memory 指任何请求实体均可立即使用的 memory
inactive - 标记为未使用的memory
pavailable - '可用的' memory 占总量的百分比 (计算方式为available
/total
*100)
固定 - 同'有线'
pused - '使用率' memory 占 'total' 的百分比(计算公式为 used
/total
*100)
共享 - memory 可被多个用户同时访问 进程
slab - 内核用于缓存数据的总memory量 其自身使用的结构
total - 可用的物理memory总量
已使用 - 已使用 memory, 根据不同的计算方式 平台(参见下表)
常驻内存 - memory 被标记为始终保留在RAM中的函数。它永远不会
moved to disk.
其中部分参数为平台特定参数 可能无法在您的平台上使用。有关详情,请参阅Items supported by platform 详情
平台特定的可用和已用计算方式:
平台 | "可用" | "已用" |
---|---|---|
AIX | 空闲 + 缓存 | 实际 memory 使用中 |
FreeBSD | 非活动 + 缓存 + 空闲 | 活动 + 固定 + 缓存 |
HP UX | 空闲 | 总量 - 空闲 |
Linux<3.14 | 空闲 + 缓冲区 + 缓存 | 总量 - 空闲 |
Linux 3.14+ (also backported to 3.10 on RHEL 7) |
/proc/meminfo,详情请参阅Linux内核中的"MemAvailable" documentation。 请注意,由于并非所有页面缓存都能被释放且计算中使用了低水位线,free + buffers + cached 不再等于 '可用的'。 |
total - free |
NetBSD | 非活动 + 执行页 + file + 空闲 | 总计 - 空闲 |
OpenBSD | 非活动 + 空闲 + 缓存 | 活动 + 有线 |
OSX | 非活动 + 空闲 | 活动 + 有线 |
Solaris | 空闲 | 总量 - 空闲 |
Win32 | 可用空间 | 总空间 - 可用空间 |
vm.memory.size[used] 与 vm.memory.size[available] 并不一定等于总量。对于 在FreeBSD系统上: * 活跃内存、非活跃内存、有线内存和缓存内存均被视为已使用内存,因为 它们存储了一些有用的信息。 * 同时,非活跃、缓存和空闲内存也被计入 可用,因为这类内存可以立即分配给 请求更多memory的进程。
因此,非活跃的memory同时被使用且可用。由于 此处的 vm.memory.size[used] 监控项 用于提供信息 仅用于展示目的,而vm.memory.size[available]则设计用于 用于触发器。