Linux

記憶體一次寫入

  • July 26, 2015

有沒有辦法將 atime 寫入設置為記憶體很長時間?我需要atime (也就是說,relatime 不會削減它),但我不希望它對性能產生太大影響。在某些情況下(例如電源故障),有時(並且僅有時)的數據失去是可以接受的。

我找到lazytime了 ext4 的掛載選項,它可以令人滿意地解決這個問題。

https://lwn.net/Articles/620086/

此模式導致 atime、mtime 和 ctime 更新僅對 inode 的記憶體版本進行。只有在以下情況下,磁碟上的時間才會更新:(a) 當 inode 的 inode 表塊需要針對涉及塊中任何 inode 的一些非時間相關更改進行更新時,(b) 如果使用者空間呼叫 fsync(),或(c) 未刪除的 inode 上的引用計數變為零(在大多數情況下,當與 inode 關聯的最後一個文件描述符關閉時)。

此選項自核心 4.0 起可用。

同樣,有必要覆蓋 的預設值relatime,否則relatime除了記憶體功能之外,您還可以獲得其他功能lazytime。為此,請使用strictatimeAND安裝lazytime

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