Linuxでは、いつキャッシュをフラッシュする必要がありますか?

Linuxでは、いつキャッシュをフラッシュする必要がありますか?

私は偶然会ったこれ。それでは必ず覚えておいてください。これ戻ってきます。ユーザーがキャッシュをフラッシュする必要があるのか​​、システムをベンチマークしたい場合にのみ、またはキャッシュをフラッシュする他の使用シナリオがあるのか​​を詳しく説明できる人はいますか?

答え1

syncダーティセクタがメディアにフラッシュされていることを確認する必要があるときに呼び出す必要があります。

一般的な状況は、フラッシュスティックにdd画像を書き込むときにオプションが提供されない場合です(ここで公開されているほとんどのレシピにはありません):フラッシュデバイスの書き込み速度が非常に遅いため、必要になる場合があります。すべての書き込みを完了するのに数分かかることがあります。特に、スティックに多くのセクターが記録されていた場合は特にそうです。fsusbconv=fdatasync

このsyncプログラムは、終了時にすべてがフラッシュされることを保証します。

答え2

ベンチマーク以外にキャッシュをフラッシュする必要はありません。 Linuxキャッシュは非常に賢く管理されており、キャッシュが使用するメモリはいつでも要求に応じて使用できます。したがって、リフレッシュすると、システムの速度が遅くなる以外は何も達成されない可能性があります。

この問題の詳細については、次を参照してください。このページ

答え3

サージそしてシアンLinuxのキャッシュ管理に関して重要なことが言及されました。特にキャッシュを操作して何も得るのが難しいということです。

ただし、ベンチマークに加えて、キャッシュを削除すると利点を得るためのいくつかの特別なケースがあります。

たとえば、大容量RAM(32 GB)を搭載したノートパソコンがあります。もちろん、Linuxはこれを利用するので良いです。ただし、システムが休止状態になると、有効なすべてのメモリ内容を永続ストレージ(私の場合はスワップ)に書き込む必要があります。したがって、一部のメモリを早期に解放すると、休止状態のプロセス速度が大幅に向上する可能性があります。

それが私が持っている理由です。

echo 3 > /proc/sys/vm/drop_caches

私の休止状態のフックの1つでは、syncスピードアップは私の場合の半分のレベルでした。

もちろん、休止状態から再起動する場合も同様です。

メモ:休止状態から再起動した後、キャッシュが再充填されるまで、システムの応答速度が著しく遅くなります。

関連情報