Answers:
在Ubuntu 10.04上,它relatime
是默认安装选项的一部分,除非在中进行了覆盖/etc/fstab
。先前的几个版本已relatime
明确包含在中/etc/fstab
。relatime
带来与相同的速度(和闪存写入周期节省)优势noatime
,而不会给老式邮件通知程序带来麻烦。
您引用的文章推荐data=writeback
。Ubuntu默认为data=ordered
。在磁盘负载较重的情况下,Ubuntu的设置速度较慢,但是在崩溃或电源故障的情况下,Ubuntu的设置会大大降低数据丢失的风险。因此,我不建议从Ubuntu默认值更改。
更改commit=5
为commit=100
增加时间范围,在该时间范围内,如果发生崩溃,数据将丢失,在大多数情况下几乎没有好处。
摘要:保留设置不变,选择它们是有原因的。
添加:除了挂载选项以外,还有其他事情可以有所作为。从切换ext3
到ext4
本身通常是一个明显的改进。这里有一些针对笔记本电脑用户的提示。
如果您有硬盘,并且希望它停止旋转很长一段时间,请安装noflushed,它可以通过延迟所有写入直到RAM已满来使磁盘旋转。(当然,读操作可能会导致磁盘旋转;您需要养成cat /files/I/m/likely/to/need >/dev/null
在磁盘旋转之前运行的习惯。)为了使noflushed生效,请关闭所有交换并使用类似以下的方法挂载文件系统:commit=3600
。
有效地使用noflushd意味着您的数据可以长时间保持未写入磁盘的状态。权衡一下这是一个风险,同时要使磁盘暂时没有任何噪音或热量。如果您对这种风险不满意,请不要使用noflushd。
noatime
vs atime
可以带来明显的变化,但是noatime
vs relatime
会令我感到惊讶。我在回答中添加了一些笔记本电脑专用的提示;我个人已经从这些技巧中看到了明显的改进。使用Noflushd会带来我愿意承担的风险。
data=writeback
-它只是以随机顺序写入文件数据和元数据(ordered
与之相对的是总是在数据之后写入元数据)。这意味着在断电时,您可以找到文件的α字节长,其中实际写入了0字节。好吧……但这绝对是自然的!我一直在想,文件系统首先会增加文件大小,然后再写入数据。要找到相反的顺序,需要转换此模式以在RAM中添加缓存。我不相信为什么不使用writeback
它是否可以帮助改善延迟。
是的,noatime
从Ubuntu 12.10 开始使用仍然有意义
relatime
是默认的安装选项。并且relatime
比更好atime
。前者在写入后的第一次读取时需要写入,后者在每次读取时都需要写入。但是noatime
每次读取都是免费的。
这基本上意味着,relatime
相对于noatime
其他条件相等的装载,要装载到磁盘的写入次数接近两倍。对于闪存设备上的分区,这是一个严重的问题。
linux内核社区的详细讨论位于http://kerneltrap.org/node/14148。
relatime
缺点并分享了kerneltrap讨论,但是说“ 只写文件没有意义 ”是胡说:所有/usr
和/lib
都是只读文件。实际上,大多数树sans /home
和/var
都是只读的。文件/etc
也很少更改。
relatime
相比,没有其他写noatime
操作。对于其余所有文件,在读取文件时会有额外的写操作。
comit=100
您提到的那样。但是,我愿意承担一些适度的风险以提高性能,因为我使用笔记本电脑和(几乎)定期备份。