誰でも ZABBIX

Zabbixの使い方、役に立つ情報、等々

3.Linuxプロセスのメモリ使用量 - proc.mem

Linuxの各プロセスのメモリ使用量は、Zabbixエージェントのproc.memで取得可能です(Windowsは未対応)。

このキー、オプションの指定に癖があり、マニュアルをよく確認しないで値を取得すると、間違ったデータを収集していることになります。

プロセスのメモリ使用量

psコマンドでmysqlのメモリ使用量を確認します。

f:id:Unam:20180219211229p:plain

RSS(Resident Set Size)がmysqldが確保している物理メモリのサイズ(kb)を表しています。psコマンド結果より、MySQLが約240MByteのメモリを使用しているのがわかります。

参考サイト

nopipi.hatenablog.com
qiita.com

proc.com[] でメモリ使用量を取得

Zabbixエージェントのキーproc.memは、指定したプロセスのメモリ量を取得することが可能です。1プロセスの情報だけでなく、複数のプロセスの合計値や、最大/最小値なども取得できる便利なキーです。

ただ、取得してくるメモリのサイズが、VSZ(Virtual Set siZe - 仮想メモリ)のほうがデフォルトになっているため、監視アイテムの取得時に、きちんとメモリタイプを指定する必要があります。

proc.memの説明

f:id:Unam:20180219212718p:plain
引用元
1 Zabbix agent [Zabbix Documentation 3.4]

モリタイプの説明

f:id:Unam:20180219213115p:plain 引用元
8 Notes on memtype parameter in proc.mem items [Zabbix Documentation 3.4]

以下は、実際にそれぞれの設定で、値を取得した例です。rssを指定しないと仮想メモリの使用量が出てきてしまいます。

f:id:Unam:20180219213326p:plain

デフォルトは物理メモリにし方がよいのではないかと思うのですが、V3.0でメモリタイプが指定できるようになったことで、Zabbixとしては対応完了のようです。

[ZBXNEXT-1078] add fifth parameter to the key "proc.mem" - <type of memory> - ZABBIX SUPPORT

参考サイト

Zabbixでプロセス毎のメモリ使用量を監視したい。