Memory

如果我從 tmpfs 映射一個文件,它會加倍記憶體使用嗎?

  • March 1, 2017

我正在開發一個系統,我們使用 mmap 和 MAP_LOCKED 和 MAP_POPULATE 將文件鎖定在記憶體中以提高性能。如果我們對 tmpfs 中的文件執行此操作,它會使用現有的 tmpfs 記憶體區域還是會為 mmap 製作副本?

Tmpfs 是一個文件系統,它將所有文件保存在虛擬記憶體中。

tmpfs 完全存在於頁面記憶體和交換中

mmap當需要數據在記憶體中時,將文件數據複製到磁碟記憶體。使用 tmpfs,所有數據都已經在磁碟記憶體中(或換出)。所以映射的數據不會被複製:它已經在它要被複製到的地方。

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