用noatime调整Ext4是否值得?

使用以前版本的Ubuntu(使用Ext3文件系统),我曾经通过在/etc/fstab设置noatime参数来调整它以获得更好的性能和明显的结果。

使用Ext4文件系统是否仍然值得这样做,现在它在Ubuntu中是默认的? 如果是这样,程序是否以某种方式改变了?

可以在此处找到此调整的示例。

在Ubuntu 10.04上,除非在/etc/fstab重写,否则relatime是默认挂载选项的一部分。 前几个版本在/etc/fstab明确地具有relatimerelatime提供与noatime相同的速度(和闪存写入周期保护)的好处,而不会给老式邮件通知器带来麻烦。

您引用的文章建议使用data=writeback 。 Ubuntu默认为data=ordered 。 在磁盘负载较重的情况下,Ubuntu的设置较慢,但在发生崩溃或电源故障时,数据丢失的风险显着降低。 因此我不建议更改Ubuntu默认值。

commit=5更改为commit=100增加发生崩溃时数据丢失的时间窗口,在大多数情况下几乎没有任何好处。

摘要:保留设置原样,选择它们是有原因的。


补充:除了mount选项之外还有其他一些东西可以有所作为。 从ext3切换到ext4本身通常是明显的改进。 以下是笔记本电脑用户的一些提示。

  • 如果你的SSD速度很慢,请查看SU的这个post 。 重要的提示是将tmpfs用于/tmp和浏览器缓存(可能还有历史记录)。

  • 如果您有一个硬盘,并且希望它停止旋转一段时间,那么请安装noflushd ,它允许磁盘通过延迟所有写入来降速,直到RAM满为止。 (当然,读取会导致磁盘旋转;你需要养成在磁盘旋转之前运行cat /files/I/m/likely/to/need >/dev/null的习惯。)在要使noflushd生效,请关闭所有交换并使用commit=3600类的文件系统挂载。

    有效地使用noflushd意味着您的数据可以在较长时间内保持不被写入磁盘。 这是一种风险,需要权衡一段时间内没有来自磁盘的噪音或热量的好处。 如果您对这种风险不满意,请不要使用noflushd。

是的,从Ubuntu 12.10开始使用noatime仍然有意义

relatime是默认挂载选项。 而且,时间比atime要好得多。 前者需要在写入后写入第一个读取,后者需要为每次读取写入。 但是对于noatime每次读取都没有写入。

这基本上意味着相对于其他相同的noatime mount,用于relatime mount的磁盘写入次数接近于两倍。 这是闪存设备上分区的一个严重问题。

linux内核社区的详细讨论请访问http://kerneltrap.org/node/14148