我听到了很多关于SSD Trim的不同意见,通常情况下,知道如何处理并不是很重要,因为你知道它是被处理的,除非我使用像Arch Linux这样大部分安装步骤都是手动的系统。
Arch Linux的文档确实解释了一些配置SSD Trimming的方法,连续的,周期性的......等等,但是它并没有说内核是否默认在支持的文件系统上进行修剪而不需要任何额外的配置步骤。
我可以安全地跳过文档中的手动配置连续或周期性修剪吗?我如何监控这些操作?在不使用文档中解释的任何方法的情况下,使用内核5+和ext4作为fs进行干净的安装是否安全?
(https:/wiki.archlinux.orgindex.phpSolid_state_drive。)?
当Arch Linux默默地假装健康这么久的时候,我是否应该长期担心,因为我从未修剪过SSD磁盘?
--本回答由 @用户1686 于 2011 年 12 月 31 日 发表。https:/superuser.com --
内核只在两种情况下发出丢弃操作。
周期性的 当fstrim工具要求它这样做的时候
连续性的:当文件被删除时。每当文件被删除时,如果文件系统是用丢弃选项挂载的。这个选项在默认情况下是被禁用的。
第二个选项通常被避免,因为它是同步的--大多数文件系统每次都会等待直到丢弃完成,这使得同步写入磁盘的速度相当慢,因为丢弃不是一个快速的操作。(异步丢弃只存在于XFS和最近的Btrfs中。)我也可以想象,不必要的频繁丢弃操作对SSD的寿命也没有什么帮助。
更何况,你可以在你的链接文章中看到一个通知,一些较老的基于SATA的SSD不支持 "队列 "TRIM,这意味着所有的操作--甚至是读取--必须等到TRIM请求完成其工作。
出于这个原因,大多数系统选择第一个选项,并每隔一周左右安排fstrim -Av。这通常是通过 "fstrim.timer "systemd单元来完成的。fstrim服务会在每次调用时写入syslog。
$ journalctl -u fstrim
Feb 07 19:18:23 fstrim[401]: /: 484.5 GiB (520173604864 bytes) trimmed on /dev/sdb3
如果你选择完全不使用TRIM,你的SSD就不会爆炸(即使它是三星生产的);只有当它认为100%的磁盘都在使用时,它才会在接受写入时变得慢一些。
(也就是说,新的SSD似乎有足够的剩余空间,即使不使用TRIM,也能继续正常工作,但我没有做过或寻求任何研究来了解这对其性能的影响,这只是我的一般猜测。)
请注意,如果你使用的是LVM或cryptsetup,所有这样的层都需要被配置为通过丢弃操作到下层。默认情况下,cryptsetup会忽略丢弃操作,因为它优先考虑隐私而不是性能--TRIM的本质是揭示哪些磁盘区域在使用,哪些是空闲的。