このセクションではvm.memory.size[<mode>]エージェントアイテムのパラメーターの詳細を説明します。
このアイテムでは、次のパラメーターを使用できます。
available
/total
*100として計算)これらのパラメータの一部はプラットフォーム固有であり、ご使用のプラットフォームでは使用できない場合があります。 詳細については、プラットフォームでサポートされているアイテムを参照してください。
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+ (RHEL7では3.10にもバックポートされています) |
/proc/meminfoのMemAvailable値、MemAvailableの詳細についてはLinuxカーネルドキュメントを参考ください。 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のメモリは、いくつかの有用な情報を格納しているため、使用済みと見なされます。
* 同時に、inactive、cached、free のメモリは、もっとメモリを必要とするプロセスにすぐに使用されるので、使用可能であるとみなされます。
このように、inactiveメモリはusedと同時にavailableでもあります。このため、vm.memory.size[available]はトリガーで使用されるために設計されていますが、vm.memory.size[used]アイテムは、情報提供の目的のみに設計されています。