私のLinuxボックスでVFSキャッシュがどのように機能するかを見ると、事実上アイドル状態(クローンや他のほとんどのデーモンが停止し、インターフェイスが閉じる)でも利用可能なメモリ量が徐々に増加することがわかります。これはプロジェクトがキャッシュから削除されることを意味します。
私は多くのインターネット検索をしましたが、それを制御する方法への参照が見つかりません(vm_swappinessの副作用でない限り)。新しいメモリ割り当てが不要なときにエントリがキャッシュから削除される理由を理解するための正しいパスを教える人はいますか?
答え1
swappinessは、キャッシュスペースを解放するために割り当てられたアプリケーションメモリをスワップアウトするかどうかにのみ影響します。 vfs_cache_Pressureは、表示される内容を制御するsysctlです。
答え2
Linux は、次のプロセスを使用してページキャッシュからデータをフラッシュします。pdflush
pdflushは、次のパラメータによって制御されます。/proc/sys/仮想マシン
#/proc/sys/vm/dirty_expire_centisecs
The hundredth of the second after which data will be considered to be expired from the page cache and will be written at the next opportunity.
#/proc/sys/vm/dirty_writeback_centisecs`
The hundredth of a second after which the pdflush wakes up to write data to disk.
#/proc/sys/vm/vfs_cache_pressure`
This will reclaim dentries and inodes which are also part of the cache.
詳細については、次の項目を確認してください。