我知道从 14.10 开始默认启用每周 TRIM。资料来源:如何启用 TRIM?
但运行sudo nano /etc/cron.weekly/fstrim
返回一个空文件。还说tail -n1 /etc/cron.weekly/fstrim
这个文件不存在。
运行lsblk -D
返回非零值DISC-GRAN
,DISC-MAX
因此我的 SSD 支持 TRIM。是否真的为我的 SSD 启用了每周 TRIM?
我正在使用金士顿 SSD
我知道从 14.10 开始默认启用每周 TRIM。资料来源:如何启用 TRIM?
但运行sudo nano /etc/cron.weekly/fstrim
返回一个空文件。还说tail -n1 /etc/cron.weekly/fstrim
这个文件不存在。
运行lsblk -D
返回非零值DISC-GRAN
,DISC-MAX
因此我的 SSD 支持 TRIM。是否真的为我的 SSD 启用了每周 TRIM?
我正在使用金士顿 SSD
从 18.04 开始
fstrim
(丢弃未使用的块)默认启用每周运行一次,用于支持丢弃操作的设备上的所有挂载文件系统。fstrim
由systemctl
而不是管理,cron
并由systemd
服务单元 (fstrim.service
) 和计时器单元 (fstrim.timer
)定义查看
fstrim.service
配置:注意: 其中:,修剪支持丢弃操作的设备上所有已挂载的文件系统。, 详细执行。输出从文件系统向下传递到块堆栈的字节数到设备以进行潜在丢弃。
ExecStart=/sbin/fstrim
-av
-a
-v
查看
fstrim.timer
配置:查看
fstrim.timer
状态:启动/停止/重启
fstrim.timer
:(不改变启动状态)
启用/禁用
fstrim.timer
:(添加到启动/从启动中删除,不改变当前的活动状态)
查看日志条目
fstrim.service
:查看日志条目
fstrim.timer
:编辑:请阅读评论,这个答案混淆了两种机制!
旧答案
@Broadsworde 的答案需要添加一个重要的点以使其完整。
在我的笔记本电脑上启用了所有计时器和服务时,缺少 fstrim 日志条目(仅:
starting… stopping… reboot… starting…
等等)。缺少步骤
您可能需要将文件系统标记为可丢弃。如果文件系统未标记为可丢弃,则修剪将跳过它[1]。
要将文件系统标记为可丢弃,您有两种选择:
1. 选项:
tune2fs
sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root
这会将丢弃选项设置为我的 ext4 设备的默认选项。如果您不使用加密,请尝试
/dev/sda
改用。2.选项:
/etc/fstab
确保将选项添加或附加
discard
到现有的安装选项。例如像这样:/dev/mapper/ubuntu--vg-root / ext4 discard,relatime,errors=remount-ro 0 1
只有在此之后,计时器服务才会真正做一些事情。
脚注
TRIM
操作。但在 linux 上,这是一个文件系统标志。尽管如此,运行文件系统的设备仍需要支持该TRIM
操作。要查看您的设备是否支持它,请使用:sudo hdparm -I /dev/sda | grep -i TRIM
。