Linuxファイルシステムのさまざまな種類のキャッシュのリストは何ですか?

Linuxファイルシステムのさまざまな種類のキャッシュのリストは何ですか?

私はこのページを読んでいましたが、http://www.tldp.org/LDP/tlk/fs/filesystem.html、そしてここで言及されている様々なキャッシュのすべてをクリーンアップするのに苦労しています。特に、それぞれを使用する場合のさまざまなシナリオを理解していません。

私の理解は次のとおりです。

  1. バッファキャッシュ:VFSで使用されます。データバッファがキャッシュ内にあることを示します。バッファキャッシュにデータバッファだけがあるかどうかはわかりません。また、VFSでのみ使用されるかどうかはわかりません。

  2. VFS inodeキャッシュ:ファイルにアクセスした後、より高速な検索のためにそのinodeがキャッシュに配置されます。 inode情報があることは、システムがその場所に到達するためにもはやファイルシステムツリーに沿ってダウンする必要がないことを意味するかどうかはわかりません。たとえば、ファイルが文書の下にある場合は、次の文書にアクセスする必要はなくなります。根)。

  3. EXT2(またはinodeを使用する他のファイルシステム)inodeキャッシュ:存在しますか?言及されたことはありませんが、存在すると仮定します。

  4. VFSディレクトリキャッシュ:「ディレクトリ名とinode」のマッピングを保存します。リンクの次の引用に記載されているように、VFSキャッシュのみを使用してVFS inodeを取得できます。

    ディレクトリキャッシュにエントリがない場合、物理ファイルシステムはデフォルトファイルシステムまたは inode キャッシュから VFS inode を取得します。

    それでは、ディレクトリキャッシュが依然として必要なのはなぜですか?これはDentryキャッシュに関連していますか?

  5. Dentry Caching:上記の記事ではなぜこれについて言及しないのですか?気にしませんか?

ベストアンサー1

それでは、ディレクトリキャッシュが依然として必要なのはなぜですか?

これはキャッシュのもう一つのレベルです。すべてのパスコンポーネントが別のキャッシュにある場合でも、それらをすべて確認するにはまだ時間がかかります。したがって、ディレクトリキャッシュはフルパスをキャッシュする方法を提供し、毎回ルートディレクトリのパス要素ごとにコンテンツパス要素を検索する必要はありません。

おすすめ記事