ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

CentOS 5で「空きメモリ」を増やす方法

こんなページを見つけました。
http://www.atmarkit.co.jp/flinux/rensai/tantei01/bangai01c.html

drop_cachesは、既に利用されておらず、ストレージと同期の取れているキャッシュを空きメモリに移動してくれるんだそうです。ということで、

■cron_drop_caches.sh

date;
echo "total/used/free/shared/buffers/cached";
echo "before";
free -m|grep Mem:;
sync;
echo 3 > /proc/sys/vm/drop_caches;
echo 0 > /proc/sys/vm/drop_caches;
echo "after";
free -m|grep Mem:;

こんな感じのスクリプトを作って、cronで定期的に回せば良さそう。

■動作確認

# sh /root/cron_drop_caches.sh > result.txt

result.txtに実行結果が書き込まれます。

■毎日0時にメモリ解放

# crontab -e

00 0 * * * sh /root/cron_drop_caches.sh > /root/result.txt


問題はサーバーが動いているときの影響ですが、以下のサーバーが動いている環境でdrop_cachesを実行しても、特に問題は起きませんでした。


[4/2 追記]
この方法ですが、UbuntuFedoraでも同様に利用可能のようです。

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。