如何在 Linux 中使用 fstrim 命令优化 SSD 性能?

固态硬盘在速度和性能方面相比传统机械硬盘提供了巨大的优势。然而,为了保持最佳效率并延长其使用寿命,SSD 需要进行定期的维护。其中一个关键的维护任务就是释放未使用的数据块,这正是 TRIM 命令发挥作用的地方。Linux 中的 fstrim 命令利用 TRIM 协议通知 SSD 哪些数据块已不再使用,从而让硬盘擦除它们,进而提升性能并优化磨损均衡。了解如何高效使用 fstrim 对于确保您的 SSD 持续平稳运行至关重要。

为什么 TRIM 对 SSD 如此重要?

SSD 用于存储数据的 NAND 闪存有一个特性:在每次成功重写之前,必须先擦除数据块。随着用户创建、修改和删除的文件越来越多,SSD 往往会堆积大量未使用的数据块。因此,当不支持 TRIM 的 SSD 接近满载容量时,由于 SSD 无法分辨哪些块是冗余的,硬盘速度就会变慢。然而,使用 TRIM 命令可以让 Linux 通知 SSD 关于这些多余块的信息,从而确保获得最佳性能。

fstrim 命令旨在向挂载的文件系统上所有未使用的块发送 TRIM 指令。

1. 检查 SSD 是否支持 TRIM

在使用之前,我们需要确保您的 SSD 支持 TRIM。大多数现代 SSD 都支持这一功能。

sudo lsblk --discard-

!1

请查看您的 SSD 下的 INLINECODE939f6038(丢弃粒度)和 INLINECODE60805fa9(最大丢弃)字段。如果它们包含非零值,说明您的 SSD 支持 TRIM。

请将 /dev/sdX 替换为正确的驱动器名称。

2. 手动运行 fstrim

要在挂载的文件系统(如 INLINECODEc2a69b7e 或 INLINECODE79f2ca89)上手动运行 fstrim

sudo fstrim /

这将对根文件系统 (/) 执行 TRIM 操作。我们也可以通过指定其他分区的挂载点,在它们上面执行此操作。

sudo fstrim /home

3. 在所有挂载的文件系统上运行 fstrim

我们可以使用 INLINECODE99279e18 选项在所有挂载的文件系统上运行 INLINECODE028c5a8b,这将自动对所有符合条件的分区执行 TRIM。

sudo fstrim -a

!2

4. 检查被 Trim 掉的数据量

运行 INLINECODEdd1a2037 后,我们可以通过使用 INLINECODE4ed1ebe7(详细模式)选项来查看释放了多少空间。

sudo fstrim -v /

输出结果将显示已 trim 的字节数。

5. 使用 Cron 任务或 Systemd 定时器自动执行 fstrim

虽然手动运行 fstrim 是可行的,但自动化该过程的效率要高得多。现代 Linux 发行版(如 Ubuntu 和 Fedora)默认使用系统定时器来进行调度。

systemctl status fstrim.timer

!3

如果该服务未激活,我们可以启用它。

sudo systemctl enable --now fstrim.timer

添加此行以每周运行 fstrim

@weekly /sbin/fstrim -a

6. 避免在某些文件系统上执行 TRIM

并非所有文件系统都支持 TRIM,例如 xfs(需要正确的配置)。如果要让特定文件系统不参与 TRIM 操作,只需确保在 /etc/fstab 文件中挂载它时带有“no data discard”(不丢弃数据)选项即可。

!How-to-Use-the-fstrim-Command-in-Linux-for-SSD-Optimization如何在 Linux 中使用 fstrim 命令优化 SSD 性能?

结语

fstrim 命令是 Linux 系统上进行 SSD 优化的重要工具。通过手动运行 fstrim 或通过系统定时器及 cron 任务自动化这一过程,我们可以确保 SSD 随着时间的推移依然保持高效运行。定期使用 TRIM 不仅可以通过回收未使用的空间来提高速度,还有助于通过更好的磨损均衡来延长 SSD 的寿命。无论您是手动优化系统还是自动化该流程,fstrim 都提供了一种简单而强大的方式来让您的 SSD 保持最佳状态。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/43482.html
点赞
0.00 平均评分 (0% 分数) - 0