次のコマンドを使用してキャッシュをフラッシュしています。
# sync; echo 3 > /proc/sys/vm/drop_caches
# sync; echo 2 > /proc/sys/vm/drop_caches
# sync; echo 1 > /proc/sys/vm/drop_caches
上記のコマンドのいずれかを使用すると、次のようになります。
-bash: /proc/sys/vm/drop_caches: Permission denied
CentOS 6.5を実行している私のシステムでは、SSH経由でrootとしてログインしました。
助言がありますか?
最初のコマンドで十分なのに、なぜ3つのコマンドを実行しているのかわかりません。
$ sync; echo 3 > /proc/sys/vm/drop_caches
これにより、無料のページキャッシュ、デントリー、iノードの3つが実行されます。 1を使用するとページキャッシュのみが解放され、2を使用するとデントリーとiノードが解放されます。
おそらく、次のような奇妙なタイミングの問題が発生しています。
これは、実行しているLinuxディストリビューションに関係なく機能するはずです。 Sudoを実行するときは、リダイレクトをカバーする必要があります。
$ Sudo sh -c "$(which echo) 3 > /proc/sys/vm/drop_caches"
クレジット: https://unix.stackexchange.com/a/148442/101951 (ただし、which echo
の部分を追加しました)