Linux
Linux 讀取磁碟記憶體和 NFS
我對讀取磁碟記憶體對通過 NFS 訪問文件的影響感興趣。假設我在 NFS 上有一個文件。我從 linux 主機“A”訪問它(執行“cat myfile”)。如果有足夠的 RAM,文件最終會出現在磁碟記憶體中。現在我從主機“B”修改該文件。主機“A”上的作業系統如何知道它必須使記憶體的那部分無效?是否有來自 NFS 的回調?還是磁碟記憶體很快過期?
Linux NFS FAQ的答案 A8有解釋。
總結:由客戶端輪詢伺服器以請求更改(通過檢查文件屬性以查看自上次客戶端檢查以來它們是否已更改)。客戶通常會定期執行此操作,但也可以在他們打開文件的任何時候執行此操作。它們還會在關閉時刷新任何寫入。這意味著只要您確保沒有其他客戶端打開文件,而一個客戶端保持打開以供寫入,您就可以獲得預期的結果。
此行為通常可以使用掛載選項進行配置,例如,如果您希望以犧牲性能為代價來實現更強的記憶體一致性。例如,參見 Linux 客戶端上的“man nfs”。