メモリ内ディスクキャッシュの削除

メモリ内ディスクキャッシュの削除

RAMが100%使用され、一部がディスクキャッシュに使用され、一部がアプリケーションに使用されているとします。使用可能なハードドライブに十分なスワップスペースがあります。 Linuxがアプリケーションデータを含むページを削除することを決定すると、そのページはスワップスペースに移動されます。

しかし、Linuxがキャッシュされたディスクデータを含むRAMのページを削除することにした場合、そのページを置き換えるために移動しますか、それとも単に削除しますか?

ベストアンサー1

TL; DRページがディスク読み取り用にキャッシュされている場合、決してスワップされません。

あなたの質問によると、あなたはすでにスワップの仕組み(または仮想メモリの仕組み)を知っています。これで、ディスクキャッシュを理解する簡単なコアステップは次のとおりです。正確に同じ方法。 「アプリケーションデータ」と「ディスクキャッシュ」はなく、単一の仮想メモリメカニズムに過ぎません。

各ページに対して永続ストレージがサポートされます。ページを「ディスクキャッシュ」として宣言する代わりに、「/var/spool/mail/root がこのページをサポートしています」と宣言することもできます。ページを「アプリケーション・メモリー」として宣言する代わりに、「このページはスワップ・スペースとしてサポートされています」(「匿名」=名前付きファイルではサポートされていません)を宣言することもできます。

ページがダーティである場合は、名前が指定されたファイルまたはスワップスペースの場合は、独自の永続ストアに独立して保存する必要があります。ページがダーティでない場合、これは定義上、まったく同じバイトがページの永続ストアにすでに存在することを意味します。いかなる措置も必要ありません。オペレーティングシステムは、適切であると判断されるたびにこのページを再利用できます。

ここで私が言う「サポートされている」属性は、人々が主にメモリマッピングと呼ばれるものであり、ここで説明するのは実際にmmap機能する方法です。

おすすめ記事