Linuxのキャッシュをクリアしたい。
そんなときはこれ。


  • まず、現在のキャッシュ量を確認します。
$ free -m
1

a
total:メモリ最大量
used:使用済メモリ量
free:使用可能メモリ量
shared:共有メモリ量(古い機能らしく無視して良いみたい。詳細不明。
buffer:バッファキャッシュ量(ブロックデバイス)
cached:ページキャッシュ量(ファイルシステム)

  • 次にバッファとキャッシュをクリアします。
$ sudo -s  キャッシュを消すときはルート権限になる必要あり。
[sudo] password for pavement1234:

# echo 3 > /proc/sys/vm/drop_caches キャッシュをクリアしました。
1を指定:ページキャッシュをクリア。
2を指定:Slabキャッシュをクリア。、
3を指定:ページキャッシュとSlabキャッシュ両方をクリア。
  • 再びキャッシュ量を確認。
# free -m
バッファとキャッシュがそれぞれ減りました。2

プログラムの真の性能を見たいとき。
キャッシュに読み込み対象データがあると高速処理されてしまうため必ずバッファとキャッシュをクリアした状態で確認しようと思います。

スポンサードリンク