这项新的系统服务可以让您的生活更轻松。在过去十年中,固态硬盘(SSD)带来了一种管理存储的新方法。与上一代转盘产品相比,SSD具有静音、运行更酷、接口规格更快等优点。当然,新技术带来了新的维护管理方式。SSD具有称为TRIM的功能。从本质上讲,这是一种回收设备上未使用的块的方法,这些块以前可能已写入但不再包含有效数据,因此它们可以返回到通用存储池以供重新使用。Opensource.com的DonWatkins在他2017年的文章《Linux 固态驱动器:为 SSD 启用 TRIM》中首次介绍了TRIM。如果您一直在Linux系统上使用此功能,您可能熟悉下面描述的两种方法。旧方法丢弃选项我最初使用mount命令的丢弃选项启用它。每个文件系统的配置都放在/etc/fstab文件中。#cat/etc/fstabUUID=3453g54-6628-2346-8123435f/homexfsdefaults,discard0丢弃选项启用自动在线TRIM。由于可能对性能产生负面影响,最近一直在争论这是否是最佳方法。每次将新数据写入驱动器时,使用此选项都会启动TRIM。这会引入额外的磁盘活动,从而影响存储性能。Cron作业我从fstab文件中删除了丢弃选项。然后我创建了一个cron作业来按计划调用命令。#crontab-l@midnight/usr/bin/trim这是我最近在UbuntuLinux系统上使用的方法,直到我了解到另一种方法。一个新的TRIM服务我最近发现有一个用于TRIM的systemd服务。Fedora在30版本中引入了它,虽然它在30和31版本中没有默认启用,但计划在32版本中启用。如果您使用的是FedoraWorkstation31并且想开始使用此功能,启用它非常容易.我还将在下面向您展示如何对其进行测试。这个服务不是Fedora独有的。它的存在和地位会因分布而异。测试我喜欢先进行测试,以便更好地了解幕后发生的事情。为此,我打开一个终端并发出配置服务调用的命令。/usr/sbin/fstrim--fstab--verbose--quietfstrim的-help参数描述了这些参数和其他参数。$sudo/usr/sbin/fstrim--helpUsage:fstrim[options]丢弃已挂载文件系统上未使用的块。选项:-a,--alltr??imallsupportedmountedfilesystems-A,--fstabtrimallsupportedmountedfilesystemsfrom/etc/fstab-o,--offset从-l,-开始丢弃的字节偏移量-length要丢弃的字节数-m,--minimum要丢弃的最小范围长度-v,--verbose打印丢弃字节数--quiet抑制错误消息-n,--dry-运行会执行所有操作,但trim-h,--help显示此帮助-V,--version显示版本所以现在我可以看到此systemd服务已配置为在我的所有支持的已安装文件系统上运行此修剪操作(-fstab)/etc/fstab文件并打印出丢弃的字节数(-verbose),但会抑制可能发生的任何错误消息(--quiet)。了解这些选项有助于测试。例如,我可以从最安全的方法开始,即试运行。我还将省略-quiet参数,这样我就可以查看驱动器设置是否有任何问题。$sudo/usr/sbin/fstrim--fstab--verbose--dry-run这将显示fstrim命令将根据/etc/fstab文件中找到的文件系统执行的操作。$sudo/usr/sbin/fstrim--fstab--verbose现在,这将向驱动器发送一个TRIM操作并报告每个文件系统中丢弃的字节数。下面是我最近在新的NVMESSD上全新安装Fedora的示例。/home:291.5GiB(313011310592字节)在/dev/mapper/wkst-home/boot/efi上修剪:579.2MiB(607301632字节)在/dev/nvme0n1p1/boot上修剪:787.5MiB(825778176字节/dev/efi)修剪在nvme0n1p2/上:60.7GiB(65154805760字节)在/dev/mapper/wkst-root上修剪启用FedoraLinux实施计划每周运行一次的systemd计时器服务。要检查它的存在和当前状态,请运行systemctlstatus。$sudosystemctlstatusfstrim.timer现在,启用该服务。$sudosystemctlenablefstrim.timerVerify然后您可以通过列出所有计时器来验证计时器是否已启用。$sudosystemctllist-timers--all会显示如下几行,说明fstrim.timer存在。请注意,此计时器实际上激活了fstrim.service服务。这是实际调用fstrim的地方。与时间相关的字段显示n/a,因为该服务已启用且尚未运行。NEXTLEFTLASTPASSEDUNITACTIVATESn/an/an/an/afstrim.timerfstrim.service结论该服务似乎是在驱动器上运行TRIM的最佳方式。这比必须创建您自己的crontab条目来调用fstrim命令要简单得多。不必编辑fstab文件也更安全。观察固态存储技术的发展很有趣,我很高兴看到Linux似乎正在朝着一种标准和安全的方式来实现它。在本文中,了解固态硬盘与传统硬盘的区别及其含义……