キャッシュとして使用されるRAMメモリを消去する方法は?

キャッシュとして使用されるRAMメモリを消去する方法は?

私のプロセッサはRAMメモリのかなりの部分をキャッシュとして使用しているので、これを整理したいと思います。これで問題が発生しますか?

答え1

プロセスに不要な場合、カーネルはキャッシュとバッファ用にRAMを効率的に管理するため、これを行う必要はありません。プロセスがより多くのRAMを要求すると、カーネルは要求を満たすために必要に応じてキャッシュとバッファを解放します。

このサーバーエラーの回答報告されたメモリ使用量を解釈する方法について説明しますfree

答え2

これを行う必要はありません。

キャッシュに何かがある場合は、2つの可能性があります。

  • また必要
  • もう必要ありません。

最初のケースでは、できるだけ長くRAMに保存することをお勧めします。つまり、他のプロセスにRAMが必要であることを意味します。これにより、あなたの介入なしに自動的に削除されます。

2番目のケースでは気にしません。キャッシュをクリーンアップするのは不要な作業であり、負の結果だけを取得するだけです。

答え3

sync
echo 3 > /proc/sys/vm/drop_caches

詳しくはこちらをご覧ください。

もう一つの質問はなぜこれですか?

答え4

私のプロセッサはRAMメモリのかなりの部分をキャッシュとして使用しているので、これを整理したいと思います。これで問題が発生しますか?

はい、現在キャッシュ内のほとんどのコンテンツをディスクから取得する必要があります。ディスクからのアクセスはメモリからのアクセスより100倍遅かった。メモリ速度が向上し、ディスク速度よりもはるかに高速であるため、数十倍または数千倍遅くなる可能性があります。したがって、キャッシュ内のコンテンツを必要とするすべての操作は、更新されたデータに最初にアクセスしたときに遅くなります。人間が認識できるかどうかは、検索する量によって異なります。

RAMはディスクと比較して比較的高価な商品ですが、まだ非常に安価です。キャッシュは永続的ではありません。プログラムを実行したり、最近使用したコンテンツをキャッシュする必要がある場合は、キャッシュ内の最も古いコンテンツが解放されます。

関連情報