本节提供有关 vm.memory.size[<模式>] agent 监控项 的部分参数详细信息。
该监控项支持以下参数:
available
/total
*100)used
/total
*100)部分参数为平台专用,可能在某些平台上不可用。详见Items supported by platform。
各平台available和used的计算方式:
平台 | "available" | "used" |
---|---|---|
AIX | free + cached | 实际使用的内存 |
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) |
详见Linux内核documentation中的"MemAvailable" 注意:由于并非所有页缓存都可释放且计算使用低水位线,free + buffers + cached不再等于'available' |
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内存被视为used(存储有效信息)
* 同时inactive/cached/free内存被视为available(可立即分配给进程)
因此inactive内存同时属于used和available。故vm.memory.size[used] 监控项仅用于信息展示,而vm.memory.size[available]设计用于触发器。