Linux atime解释
以下是我从网上查找的各种资料汇总,有不对的地方,还请各位拍砖指教,谢谢。
atime:表示文件访问时间,这个时间戳告诉我们最后一次文件被访问的时间。换句话说,访问也就是你cat、vim、less、read、display此文件。
其实这个时间的改变,跟文件系统挂载时的参数有很大关系。
可以看下我电脑的mount命令结果如下图,红色诠注的部分:
跟此参数有很大关系。
这个参数有几种取值如下:
noatime – 禁止更新文件及目录的atime属性 disables updating of atime for both files and directories
nodiratime – 禁止更新目录的atime属性disables updating of atime for directories
relatime – 只有当atime <= mtime or ctime 时,会更新此属性,或者本次访问时间距离上次访问超过24小时(hardcoded in fs/inode.c在这个文件中有定义24小时,感兴趣的童鞋可以去查看此文件)或者inode属性为脏时,都会更新atime属性。
strictatime – 每次访问文件就更新Atime时间,此种方式会频繁读写文件的metedata数据区,对存储介质有一定损伤。
所以目前文件系统都采用relatime这种这种方式,因为嵌入式的存储介质一般是flash,而flash的擦写次数都是有限制的,所以使用strictatime会对flash的使用寿命有损伤。
参考链接:
https://stackpointer.io/unix/linux-io-performance-tuning-noatime-nodiratime-relatime/388/
https://blog.confirm.ch/mount-options-atime-vs-relatime/