Answers:
默认情况下,修剪(fstrim / discard)在18.04中启用为每周运行。
它设置为在支持丢弃操作的设备上的所有已挂载文件系统上运行。
它是systemd
通过systemctl
而不是CRON 管理的服务。
查看fstrim.timer状态:
$ systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Thu 2018-07-05 05:45:11 BST; 4h 42min ago
Trigger: Mon 2018-07-09 00:00:00 BST; 3 days left
Docs: man:fstrim
启动/停止/重新启动fstrim.timer:(
不更改启动状态)
$ sudo systemctl [start/stop/restart] fstrim.timer
启用/禁用fstrim.timer:(
添加到启动中或从启动中删除,不更改当前的活动状态)
$ sudo systemctl [enable/disable] fstrim.timer
查看fstrim.timer配置:
$ systemctl cat fstrim.timer
# /lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim
[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true
[Install]
WantedBy=timers.target
查看fstrim.service配置:
$ systemctl cat fstrim.service
# /lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks
[Service]
Type=oneshot
ExecStart=/sbin/fstrim -av
注意:ExecStart = / sbin / fstrim -av
其中:
-a,修剪支持丢弃操作的设备上所有已挂载的文件系统。
-v,详细执行。将文件系统从块堆栈向下传递到设备的字节数,以进行潜在的丢弃。
查看相关的系统日记帐分录:
$ journalctl -u fstrim.timer
Jul 04 14:18:41 user-laptop systemd[1]: Started Discard unused blocks once a week.
Jul 04 21:59:26 user-laptop systemd[1]: Stopped Discard unused blocks once a week.
etc...
$ journalctl -u fstrim.service
Jun 25 10:59:44 user-laptop systemd[1]: Starting Discard unused blocks...
Jun 25 10:59:48 user-laptop fstrim[955]: /: 92.5 GiB (99335237632 bytes) trimmed
Jun 25 10:59:48 user-laptop systemd[1]: Started Discard unused blocks.
-- Reboot --
Jul 02 04:27:41 user-laptop systemd[1]: Starting Discard unused blocks...
Jul 02 04:27:46 user-laptop fstrim[1032]: /: 92.3 GiB (99150807040 bytes) trimmed
Jul 02 04:27:46 user-laptop systemd[1]: Started Discard unused blocks.
etc...
有一点很重要,需要在@Broadsworde的答案中添加以使其完整。
在笔记本电脑上启用了所有计时器和服务时,缺少fstrim日志条目(仅:starting… stopping… reboot… starting…
等)。
您可能需要将文件系统标记为可丢弃。如果文件系统未标记为可丢弃,则修剪将跳过它[1]。
要将文件系统标记为可丢弃,您有两个选择:
tune2fs
sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root
这会将ext4设备的丢弃选项设置为默认选项。如果您不使用加密,请尝试/dev/sda
。
/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
。
/lib/systemd/system/fstrim.timer
(OnCalendar=weekly
)控制,什么由/lib/systemd/system/fstrim.service
(ExecStart=/sbin/fstrim -av
)控制。