Text-Processing

打開文件描述符如何影響記憶體

  • December 25, 2017

假設我有一個 250MB 的文件,我通過打開一個文件描述符來讀取它。整個文件是否被轉儲到記憶體中並留在那裡直到我關閉文件描述符?

這與使用 sed、grep 或 awk 等命令解析同一文件中的數據有何不同?

核心會根據核心策略和記憶體需求情況將文件記憶體在記憶體中。整個文件可能最終在記憶體中,並且即使在文件描述符關閉後,它也可能會留在記憶體中,直到需要重用緩衝區,所以如果你之後直接用同一個文件再次執行同一個應用程序,它會很多快點。或者只有部分可能最終在記憶體中,一個接一個地讀取。

在這方面,所有應用程序的行為都是相同的,無論應用程序是什麼。儘管有不同的打開文件的方式,但這可能會影響一切工作方式的細節。

引用自:https://unix.stackexchange.com/questions/412880