-
Copyright(C) 2014 Yuichiro SAITO (@koemu)
-
This software is released under the MIT License, see LICENSE.txt.
メモリの空き容量を確認する事ができます。容量は、物理メモリ+スワップメモリを合計した値を元に算出します。
その上で、一定以下の空き容量になったときに、WarningまたはCriticalを返します。閾値は、パーセンテージと実容量を選択可能です。
check_swap を用いると、スワップメモリの空き容量を確認する事ができます。この方法だと、仮に物理メモリに空き容量が出た場合でも、ページアウトしたメモリページが残っていてもステータスがOKにならない場合があります。また、スワップメモリの使用量が多量になっただけではパフォーマンス劣化には直接は結びつきません。
また、2014年2月現在、nagios-pluginsでまとめて頒布されているプラグインの中に、物理メモリの空き容量確認を行えるプラグインはありません。また、スワップメモリに十分な空き容量が確保できていれば、物理メモリ不足だけではOOMKillerが発動する等の問題は発生しません。
以上の事から、メモリの空き容量を確認するには、物理メモリ及びスワップメモリの両方を確認する事が大切になります。
Webサーバなどでは応答時間の低下は命取りになるので、スワッピングが起こる前に検知したい場合があります。
このような場合に-s
オプションを使用することで、スワップを加味しない(マシンに積まれているメモリ量だけの)チェックを行えるようにしました。
-s
オプションを指定しない場合は、Fork元の動作と変わりはありません。
また2019年現在、/proc/meminfo
の書式はいくつか種類があるようです。
適切なメモリ使用量を計算するために、チェックが実行されるマシンの/proc/meminfo
の書式を走査し、計算方法を自動で切り換える機構を設けました。
こちらは、チェック実行時に意識する必要はありません。
- OS: Linux Kernel 2.6.18 or above
- Python: 2.6 or 2.7
- --version 本プログラムのバージョンを表示します。
- -h, --help コマンドラインのヘルプを表示します。
- -w <free>, --warning=<free> メモリの空き容量が指定した値未満になった場合、Warningステータスを返します。パーセントか、キロバイトを選択して設定できます。
- -c <free>, --critical=<free> メモリの空き容量が指定した値未満になった場合、Criticalステータスを返します。パーセントか、キロバイトを選択して設定できます。
- -s, --without_swap スワップを除いたチェックを実行します。
- -V, --verbose メッセージを詳細に表示します。デバッグ用です。
- 2019-08 0.0.2 Add
-s
option, and modify calculation method of memory usage. - 2013-02 0.0.1 Initial release.