このページで
1 vm.memory.sizeパラメーター
概要
このセクションでは、vm.memory.size[<mode>] エージェントアイテムのパラメータの詳細について説明します。
パラメータ
このアイテムには以下のパラメータがあります:
- active - 現在使用中またはごく最近使用されたメモリで、RAMに存在する
- anon - ファイルに関連付けられていないメモリ(ファイルから再読み込みできない)
- available - 利用可能なメモリ。プラットフォームによって計算方法が異なる(下表参照)
- buffers - ファイルシステムメタデータなどのキャッシュ
- cached - 様々なもののキャッシュ
- exec - 実行可能なコード。通常は(プログラム)ファイルから
- file - 最近アクセスされたファイルの内容のキャッシュ
- free - メモリを要求する任意のエンティティがすぐに利用できるメモリ
- inactive - 未使用としてマークされたメモリ
- pavailable - 'total'に対する'available'メモリの割合(
available/total*100で計算) - pinned - 'wired'と同じ
- pused - 'total'に対する'used'メモリの割合(
used/total*100で計算) - shared - 複数のプロセスが同時にアクセスできるメモリ
- slab - カーネルが自身の使用のためにデータ構造をキャッシュするために使用するメモリの合計量
- total - 利用可能な物理メモリの合計
- used - 使用中のメモリ。プラットフォームによって計算方法が異なる(下表参照)
- wired - 常にRAMに保持されるようにマークされたメモリ。ディスクに移動されることはない。
これらのパラメータの一部はプラットフォーム固有であり、お使いのプラットフォームでは利用できない場合があります。詳細はZabbixエージェントアイテムを参照してください。
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+ (RHEL 7の3.10にもバックポート済み) |
/proc/meminfo、詳細はLinuxカーネルドキュメントの"MemAvailable"を参照。 free + buffers + cachedは、すべてのページキャッシュが解放できるわけではなく、計算にlow watermarkが使われるため、もはや'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メモリは同時に使用中かつ利用可能となります。このため、vm.memory.size[used]アイテムは情報提供のみを目的として設計されており、vm.memory.size[available]はトリガーで使用することを目的としています。