上のグラフは公開しているmrtgのうち、メモリの使用量を月毎に表したもの。緑が物理メモリの空き量、青の実線がSWAPの空き量なのだが、見ての通り今年の第1週から徐々に空きが減っているのがわかります。
原因はdrop_cachesのcron実行を止めたから。これまで自分はメモリの空き容量確保のため、簡単な実行プログラム
/root/caches_crear.sh |
#!/bin/sh /bin/sync /bin/sync /bin/sync /bin/echo 1 > /proc/sys/vm/drop_caches sleep 20 # /bin/sync /bin/sync /bin/sync /bin/echo 1 > /proc/sys/vm/drop_caches |
こんなん書いてcronで定期的に実行することで、適当な空き容量を確保してたんですよ。でも実際はこのメモリの内役的にはプログラムが掴んでるだけじゃなくて、ページキャッシュも含まれてるらしいじゃないですか。あとダーティキャッシュも。
システムの高速化を助けるページキャッシュをdrop_cachesでクリアしてしまうのは、逆によろしくないんではないかと思い立ったのがちょうどこの1週目の中ごろなわけです。
で、約1カ月クリアなしでどうなるかと様子を見ていたんですけど、見ての通り少しずつメモリが減っていき、今日見たらかなり切ない残量になっていたんで、やっぱりcronを復活させることにしました。メモリが底をついてswapとか発生したらさらに切なそうだから。
とりあえず数十分に一回という高頻度でクリアしてたのを、週1に変更して様子を見ることにします。