キャッシュをフラッシュすると(echo 3> /proc/sys/vm/drop_caches)、ファイルが失われますか?

キャッシュをフラッシュすると(echo 3> /proc/sys/vm/drop_caches)、ファイルが失われますか?

実行後にファイルが欠落していることがわかりましたsync; echo 3> /proc/sys/vm/drop_caches

このような場合はわかりませんが、ファイルシステムがNFSに転送されるため、キャッシュを削除するとファイルキャッシュも消えることがあります。

キャッシュ削除を使用するとsync; echo 3 > /proc/sys/vm/drop_cachesファイルが失われますか?

ベストアンサー1

カーネルが正しく機能している場合は、ファイルが失われてはいけません。から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 ...
...
       Because writing to this file is a nondestructive  operation  and
       dirty  objects  are  not  freeable,  the user should run sync(1)
       first.

マニュアルに記載されているように、きれいなキャッシュのみをフラッシュし、何でも書き込むのはdrop_caches非破壊的な作業です。汚いものはまったく邪魔されません。

おすすめ記事