256bitの殺人メニュー

インフラエンジニアだったソリューションアーキテクトなくわののブログ。こちらのBlogは個人の意見となっていて会社とは全く関係ありません。お約束です。[twitter:@kuwa_tw]めんどくさがりが重い腰を上げて何かをアウトプットすることにどれほどの意味があるのかを試してみたいブログでもある。

キャッシュクリア

負荷試験とかの時にたまにつかうんよー。
毎回忘れてググるものは書いとこうw

まずmanページ

/proc/sys/vm/drop_caches (Linux 2.6.16 以降)
    このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、 inode をメモリ上から外し、そのメモリを解放する。

    ページキャッシュを解放するには、 echo 1 > /proc/sys/vm/drop_caches とする。 dentry、inode を解放するには、 echo 2 > /proc/sys/vm/drop_caches とする。ページキャッシュ、dentry、inode を解放するには、 echo 3 > /proc/sys/vm/drop_caches とする。

    この操作は非破壊的な操作で、ダーティな (dirty) オブジェクトは解放されないので、この操作を行う際は最初に sync(8) を実行しておくべきである。 

だそーです。
なのでキャッシュクリアしたい場合は、

# cat /proc/sys/vm/drop_caches
0
# sync;sync;sync
# echo 3 > /proc/sys/vm/drop_caches
# cat /proc/sys/vm/drop_caches
3
# echo 0 > /proc/sys/vm/drop_caches
# cat /proc/sys/vm/drop_caches
0

って感じかな。