Linux
記憶體一次寫入
有沒有辦法將 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
。為此,請使用strictatime
AND安裝lazytime
。