ストレージ性能の違いによるサービスやアプリケーションの起動速度の違い…等を検証する時には必須です。 ( ・∀・)ジサクジエン
/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) を実行しておくべきである。
- [0] 初期値
- [1] ページキャッシュ解放
- [2] dentry、inode 解放
- [3] ページキャッシュ、dentry、inode 解放
実行例
$ free total used free shared buffers cached Mem: 8298852 2013168 6285684 0 93716 1759304 -/+ buffers/cache: 160148 8138704 Swap: 8393952 192 8393760 $ sync $ sudo /sbin/sysctl -w vm.drop_caches=3 vm.drop_caches = 3 $ free total used free shared buffers cached Mem: 8298852 111472 8187380 0 276 7524 -/+ buffers/cache: 103672 8195180 Swap: 8393952 192 8393760 $ sudo /sbin/sysctl -w vm.drop_caches=0 vm.drop_caches = 0
参考文書
- vm.drop_caches (間違いだらけの備忘録)
- Linux のページキャッシュを強制的に解放させる方法 (TrashSUITE)
- Manpage of PROC (www.linux.or.jp)