用于提升SSD / HDD的最佳/ etc / fstab设置


12

我知道EXT4最快3年来已经检查了不同作者的测试博客文章,但是还有其他设置可以使SSD更快,我在http://www.howtogeek.com/62761/how-to-tweak-your-ssd-中找到了尽享最佳性能/

sudo gedit /etc/fstab
add to / partition <options> noatime,nodiratime,
and also if kernel is >2.6.33 also add discard,
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

https://wiki.ubuntu.com/MagicFab/SSDchecklist

sudo gedit /etc/fstab
add to / partition <options> noatime, and thats it
and data=writeback mounting option if you formatted the disk without journaling. Otherwise add data=ordered which sould be a good compromise between full journaling and none at all.
tmpfs   /tmp  tmpfs  nodev,nosuid,noexec,mode=1777  0 0

为什么只有noatime?以及如何知道磁盘是否没有安装日志记录?什么更快?没有Jornaling或对面的?和差异没有日记数据=写回或日记数据=有序?

为什么tmpfs / tmp在两个小插曲中有所不同,为什么它们变小而女巫更好,为什么?

所有这些都是关于SSD的,但是我可以在HDD中使用相同的设置吗?我想找到HDD和SSD的答案,因为我在我的https://wiki.ubuntu.com/Kangarooo/AfterCleanInstallation中创建了一次脚本来对其进行设置

Answers:


10

howtogeek网站对您提到的两个网站负有更大的责任。atime调整只是元数据优化,可在文件将接收特定时间戳更新时进行流水线优化。无论您使用哪种媒体,它都适用,还取决于您的应用程序对该元数据的一致性的敏感程度。大多数桌面用户不会错过它。

现在,禁用日记功能……简直太疯狂了。这就是使用这些高级文件系统的全部要点:在确保数据完整性的同时提高性能。请理解,如果进行此交易,则是在交换您的个人数据以适度提高速度。我个人不推荐它。多数人一开始就没有保留好的备份来弥补这种风险。

分区对齐确实很重要,但不进行任何调整也不会杀死您。这实际上取决于磁盘的访问量。假设它是未对齐的,如果您有大量的I / O定期(服务器)运行,那么您将看到一个改善。众所周知,平均而言,台式机的使用量可能并不大。

除了分区对齐很有价值的概念外,我不会理会您提到的Ubuntu Wiki。这是一个更负责任的链接:

http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.html?ca=dgr-lnxw074KB-Disksdth-LX

Ubuntu Wiki中的一些建议是完全错误的,例如使用“ nodev”重新配置tmpfs。已经是RAMFS!

将Firefox缓存移至/ tmp可能会提高当前会话的速度。尽管这可能会带来安全隐患(不再在您家中提供安全保护),并且由于tmpfs不是持久性的,所以它将在每次引导时进行重建。

摘要:

discard谨慎地添加到ext4选项,写回是默认模式,不设置日志记录设置,atime调整很好,并且切换到截止日期或nop调度程序也可能有用,分区对齐是可选的。其余的都铺了。


适时的调整很好,但最终毫无意义。relatime是一个很大的折衷,如果自从上次访问该文件以来对其进行了修改,则只会导致atime写入。这已经大大减少了即时写入,而不会完全失去即时功能。

1
我同意这relatime是最好的折衷方案,但是我将分析限于所陈述的事实。除非您有服务器工作负载,否则许多调整实际上并不重要。我说的是性能,而不是损耗平衡。该用户可以做的最重要的事情就是启用discard支持。我拥有SSD已有1.5年了,从未对其进行过调整,运行良好,管理自己的废弃设备。
ppetraki

1
为什么会nodev很愚蠢?它不会使系统知道文件系统是设备,但是可以防止将设备文件视为设备。您可以使用进行测试sudo mknod -m666 test c 1 3(使用会创建一个test用作可写空设备的文件,即/dev/null)。在一个文件系统安装nodevecho > testcat test失败,如果你不管它运行作为根与否。
Lekensteyn 2011年

我知道手册页怎么说。您能否解释一下这对性能有何影响,特别是在固态硬盘的情况下?
ppetraki 2011年

4

discard不再建议在SSD托管的文件系统中使用该选项,因为它会减慢速度,因为Linux内核具有未优化的命令实现。(IIRC,TRIM请求一次仅使用一个ATA扇区范围,这使其速度变慢。)

而是创建一个每天运行的cron作业fstrim -v /(或任何您的SSD分区)。是Ubuntu 14.04 LTS附带的解决方案。


“不再建议丢弃选项”-来源,好吗?
eMPee584 '19

1
…由XFS开发人员marc.info/?l=linux-xfs&m=133047907914622&w=2找到了这篇文章:“对于用户SSD而言,在线丢弃并不是真正的明智之举[…]正是因为丢弃是一个非常缓慢且非支持它的大多数硬件上的排队操作。” 就是systemctl enable fstrim.timer这样
eMPee584 '19

1

不要在/ tmp上启用“ noexec”,否则某些3D驱动程序将需要从/ tmp执行,因此会遇到问题。用于现代硬件的NVIDIA驱动程序具有此要求,如果启用了“ noexec”,则您拥有的任何应用程序都将发生段错误(例如xscreensaver glmatrix)。


所以我可以添加没有noexec的行?像这样?tmpfs / tmp tmpfs nodev,nosuid,mode = 1777 0 0
Kangarooo's

0

除了ppetraki的答案之外,如果您担心闪存磨损,还应该为/tmp文件夹安装RAM文件系统。

tmpfs /tmp tmpfs defaults,size=15%,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,size=10%,mode=1777 0 0

但是/var/log,除非确定不会崩溃,否则不要将文件移至RAM;)并且您已经安装了所有服务器包,它们会创建新/var/log目录(例如apache),并且不希望它们在启动之间消失:

tmpfs /var/log tmpfs defaults,mode=0755 0 0 
tmpfs /var/log/apt tmpfs defaults 0 0
none /var/cache unionfs dirs=/tmp:/var/cache=ro 0 0

这是JR0cket的答案和有关该主题的其他博客文章的结合。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.