このセクションでは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]アイテムは、情報提供の目的のみに設計されています。