このページで
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 agent items を参照してください。
available および used のプラットフォーム固有の計算:
| Platform | "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 カーネルのdocumentationの "MemAvailable" を参照してください。 なお、すべてのページキャッシュが解放可能なわけではなく、また計算に low watermark が使用されるため、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] はトリガーで使用することを目的として設計されています。