キャッシュ内のすべてのファイルのリスト

キャッシュ内のすべてのファイルのリスト

これ質問キャッシュの一部を見つける方法に関する質問に答えてください。ただし、fincore実行可能ファイルではファイル名を渡して、そのファイルがキャッシュの一部であることを確認する必要があります。

ファイル名を渡さずにキャッシュメモリに属する​​すべてのエントリを見つけるためのツールや方法はありますか?

PS:私たちはこれを組み込みシステムで実行しています。 forループを実行し、すべてのファイルをfincore独自に渡すことは、より多くの時間とメモリを消費するプロセスです。だから別の方法を探しています。

ベストアンサー1

カーネルがキャッシュされたブロックに関連するファイル名をどこで公開しているのかわかりません。この回答によると

https://stackoverflow.com/a/4941371

カスタムカーネルモジュールを使用しても最善の方法は、inodeとデバイスのリストを取得することです。これにより、ファイルシステムでこれらのファイルを見つける必要があります。

それでは、「fincore私がどのファイルをリストしたのか、どうやって知ることができますか?」このfincoreツールは、次の操作で動作します。

システムmincoreコールは、指定されたメモリページがコアメモリにあるかどうかを示します(つまり、アクセス中にページエラーを引き起こさない)。マッピングファイルが遅延ロードされ、mmapまだマップされている領域を読み取っていないため、すべてのページ習慣ページエラーの原因はキャッシュの一部である必要があります。

おすすめ記事