# / was on /dev/sda2 during installation
UUID=587e0dc5-2db1-4cd9-9792-a5459a7bcfd2 / ext4 noatime,nodiratime,errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=2c919dc4-24de-474f-8da0-14c7e1240ab8 /home ext4 noatime,nodiratime,defaults 0 2
# Modification for SSD
# you may want to add more folders to be checked/created to this list
for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba speech-dispatcher unattended-upgrades; do
if [ ! -e /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e
# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g. https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all
我已经成功地使用了几种不同的技术来改进 Ubuntu 使用存储设备的方式,无论是固态驱动器还是传统驱动器。
对于 SSD,您也希望尽量减少驱动器的写入次数,因为读取不应增加驱动器的磨损。
1) 管理交换文件
如果您没有使计算机休眠并且您有足够的 RAM 内存来运行所有应用程序,那么理论上您不需要交换分区。
如果您混合使用 SSD 和硬盘驱动器,请将交换分区仅放在硬盘驱动器上。
2) 读取时间戳不写入(适用于 SSD 和硬盘驱动器)
使用选项noatime和nodiratime挂载分区将在您读取文件和文件夹时停止时间戳写入。除非您使用本地邮件服务器客户端(例如 mutt),否则通常不需要这些时间戳写入。这通常是一个坏主意,因为每次读取都会在更新时间戳时产生写入。这会缩短 SSD 的使用寿命。
编辑您的/etc/fstab配置文件(小心 - 进行备份以确保破坏您的 fstab 配置会阻止您的系统工作):
通过将文本 noatime 和 nodiratime 添加到定义根 (/) 和其他分区(如果有的话)的行中,编辑分区的挂载选项 -注意:如果您有 /home 分区,请从更改开始如果您担心破坏某些东西,则该分区
在这些更改生效之前,您需要重新启动计算机
3) 最小化来自操作系统和应用程序的写入
假设您没有运行关键任务产品服务器,大多数人不会在出现问题时查看日志(尤其是对于大多数 Ubuntu 用户来说严重错误很少见)。因此,您可以配置 Ubuntu,以便将所有日志写入 RAM 内存而不是 SSD。
注意:只有在您安装了所有要使用的软件(尤其是 Apache Web 服务器之类的东西)后才进行以下更改,否则您可能会遇到 /var/log 中缺少目录的问题
有关此方法的背景信息,请参阅ubuntu-eee.com 上的延长闪存驱动器的使用寿命
使用编辑器打开/etc/fstab(假设您已备份 /etc/fstab 文件)
在 fstab 文件末尾添加以下行并保存:
在这些更改生效之前,您需要重新启动计算机
也可以看看:
固态硬盘寿命
一般来说,我不会打扰 - 对 SSD 寿命的担忧被夸大了。您可以阅读这篇详细的文章,了解为什么您真的不应该担心。简而言之,现代 SSD 内部的电路会为您管理磨损均衡,而且他们比您更清楚如何做到这一点。
文章中计算了以 80M/s 的连续速率接收写入的 SSD 的寿命。寿命51岁。那是基于 2007 年的技术 - 现在 SSD 的寿命会更长。而且您几乎可以肯定不会一天 24 小时以 80M/s 的速度写入您的 SSD。
固态硬盘性能
然而,随着时间的推移性能下降可能是一个问题,TRIM是解决方案。有两种选择
您必须自己启用自动 TRIM。(基本上,您将
discard
选项添加到您的挂载选项中,前提是您使用的是 ext4。)我发现一篇博客文章报告说删除文件时丢弃选项会减慢您的系统速度。您有时可以使用fstrim手动(或在 cron 作业中)执行此操作。如果您只有一个分区,那么您需要做的就是:
请注意,fstrim 仅在 11.10 及更高版本中可用。对于较旧的系统,您将需要该
wiper.sh
脚本。/usr/share/doc/hdparm/contrib/wiper.sh.gz
我在我的系统上找到了脚本。如果您想知道,如Wikipedia 所述,TRIM 解决的问题是:
有几点:
结盟:
经常被指出的是分区的正确对齐。这应该等于 SSD 的块大小。安全起见,让您的分区与 MiB 边界对齐。请注意,您不能使用 Ubuntu 安装程序的分区工具(使用 MB 而不是 MiB)来执行此操作,但您可以启动 live CD,使用 Gparted(使用 MiB),然后单击安装以使用您设置的分区。
正确的调度程序:
重要的一点是调度程序应该是
noop
.elevator=noop
您可以通过内核参数或通过echo noop > /sys/block/sda/queue/scheduler
rc.local 中的条目设置此调度程序。挂载标志:
我会推荐
noatime
和discard
临时文件
将 tmp 放在 ramdisk 上可以增加 ssd 的寿命。要使用它,请在 fstab 中添加以下行:
none /tmp tmpfs defaults 0 0
一般来说,如果你想更深入地研究这个主题,我会推荐这篇优秀的 wiki 文章。
在 Ubuntu 上为您的 SSD 快速调整课程:
文件系统
Arch wiki提到SSD 文件系统的一些可取选项 - 其中一个是不稳定的,其他是ext * 的。我认为ext4是最好的选择之一。
注意:如果是ext4,您可能需要使用
discard
挂载选项。fstab
这里有几件重要的事情是:
swap
分区。现在它只需要休眠,因为现代机器有相当大的内存。noatime
和discard
选项。信息在这里。调度器
考虑从默认调度程序(在大多数 Linux 发行版中为 cfq(完全公平队列))切换到 SSD 的 noop 或截止时间调度程序。例如,使用 noop 调度程序,只需按接收到的顺序处理请求,而不考虑数据在磁盘上的物理位置。此选项被认为对 SSD 有利,因为 SSD 上所有扇区的寻道时间相同。
将以下内容添加到/etc/rc.local:
信息
一二 _
4)启用自动TRIM
如果您的 SSD 支持它,您还应该启用自动 TRIM(如此处所述)
我不会将此行添加到您的 fstab 中,var/tmp 文件夹旨在在重新启动后继续存在,这可能会给您带来问题。
当我配置新系统时,如果发生任何事情,我会以这种方式将所有 tmp 文件夹注释掉,我可以检查日志和内容。然后,一旦我有了主系统设置,我将取消注释它们,但我从不添加上面的行,这是我使用的:
如果我的系统有任何问题,我会将它们注释掉,以便即使在重新启动或锁定后强制重新启动后也能检查所有内容。
此外,您不需要 nodiratime,noatime 选项会自行处理两者。
至于TRIM,如果你的硬件支持,那是必须的,我在fstab中不使用discard。我创建了一个每日 cron,因为我的 PC 始终处于开启状态,这样做:
然后将其添加到文件并保存(如果您在 ssd 上没有单独的 /home 分区,或者在 ssd 上有其他部分,您应该知道如何修改它:
然后通过以下方式使文件可执行:
我也像这样编辑我的 rc.local :
在“exit 0”上方和最后一个#下方添加:
您可以从此处复制和粘贴,因此没有错误,对于外行来说,它看起来不正常,事实并非如此。
我还读到,将 10% 的 ssd 驱动器未格式化有助于延长使用寿命,这还有待观察。我没有对此进行过多的阅读,因此我无法保证这样做是否有意义。
这是最好的全能指南,他没有在谷歌上浏览一天然后想出了一个指南,你应该在这里查看
TRIM 允许操作系统通知 SSD 哪些数据块不再被考虑使用并且可以在内部擦除。修整使 SSD 能够处理垃圾收集开销,否则会提前显着减慢对相关块的未来写入操作。1
在 Ubuntu 14.04 中, util-linux包中添加了一个新功能,该功能会定期自动修剪 SSD,但只有 Intel 和三星 SSD 默认启用 TRIM,因为一些便宜的 SSD 在运行 TRIM 时甚至会自行变砖。2
/etc/cron.weekly/fstrim
Ubuntu 14.04中的内容:1 https://en.wikipedia.org/wiki/Trim_%28computing%29
2如何启用修剪?
好的“长话短说”:
在安装过程中格式化
ext4
,并创建一个~1 GB 的小交换。安装后编辑 fstabsudo gedit /etc/fstab
并添加以下行这将为您的临时文件创建一个内存驱动器,从而降低老化。还要在默认值后添加
noatime,nodiratime,discard
到您的 ext4 行。这也将降低磨损,并启用 TRIM 功能。保存并重新启动。UPS 是必需的。在
/etc/sysctl.conf
文件中找到配置文件守护进程,通常
/etc/syslog.conf
или/etc/rsyslog.d/
和表单的所有路径/var/log/
通过在ways前面写一个减号(“-”)改变。在mail.err之前后
mail.err -/var/log/mail.err
使用 FS
btrfs
并使用-o ssd
选项更多http://vasilisc.com/speedup_ubuntu_eng#speedup_fs
很明显,
/var/tmp
不应该在 tmpfs 中,因为根据定义,它的内容需要在重启后保留: