Memory
如果我從 tmpfs 映射一個文件,它會加倍記憶體使用嗎?
我正在開發一個系統,我們使用 mmap 和 MAP_LOCKED 和 MAP_POPULATE 將文件鎖定在記憶體中以提高性能。如果我們對 tmpfs 中的文件執行此操作,它會使用現有的 tmpfs 記憶體區域還是會為 mmap 製作副本?
Tmpfs 是一個文件系統,它將所有文件保存在虛擬記憶體中。
mmap
當需要數據在記憶體中時,將文件數據複製到磁碟記憶體。使用 tmpfs,所有數據都已經在磁碟記憶體中(或換出)。所以映射的數據不會被複製:它已經在它要被複製到的地方。