可能重複:
How to invalidate the file system cache?如何強制Windows清除所有磁盤讀取緩存數據?
我正在寫一個磁盤密集型Win32程序。它首次運行時,運行速度會比使用FindFirstFile()/ FindNextFile()掃描用戶文件夾時慢得多。
如何在不重新啓動的情況下重複此首次演奏?有沒有辦法強制系統丟棄磁盤緩存中的所有內容?
我知道,如果我讀一個單一的文件,我可以通過將FILE_FLAG_NO_BUFFERING標誌調用CreateFile時禁用緩存()。但在搜索文件時似乎無法做到這一點。
+1我正在輪到自己張貼相關的帖子。當試圖解決磁盤相關算法的性能問題時,緩存確實會阻礙。好問題。 – 2010-07-18 15:55:54