BLOGTIMES
2010/12/26

Linux でページキャッシュをクリアする

  linux 
このエントリーをはてなブックマークに追加

Linuxは空きメモリがあると、ファイルを読み込んだ時の内容がページキャッシュとして自動的に保持されるようになっているので、これがパフォーマンス改善に役立つわけですが、ディスクI/Oの性能測定をする際などにこのページキャッシュが邪魔になることがあります。これまではこれをクリアする方法を知らなかったので必要に応じてマシンをリブートしたりしていたのですが、「Linux のメモリキャッシュをクリアする」によると、/proc/sys/vm/drop_cachesを使うと簡単にクリア出来ることが分かったのでメモ。

manで調べてみたところこんな感じでした。

man 5 proc

/proc/sys/vm/drop_caches (since Linux 2.6.16)

Writing to this file causes the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. To free pagecache, use echo 1 > /proc/sys/vm/drop_caches; to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches; to free pagecache, dentries and inodes, use echo 3 > /proc/sys/vm/drop_caches. Because this is a non-destructive operation and dirty objects are not freeable, the user should run sync(8) first.

値を書き込む前に sync を実行しておいた方がいいみたいですね。

# sync # echo 1 > /proc/sys/vm/drop_caches

ちなみに数字を2にするとdentry と inonde がクリアされ、3にすると両方が削除されるようです。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3975
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン