WWolf писал(а): ↑21 мар 2025, 15:35
когда он отработал крайний раз
Не соглашусь. По-моему мнению, это время прошло с запуска самой службы
fstrim.service
, но не триггера запуска trim, то есть это время прошло с момента включения мной компьютера, что примерно и совпадает. Вот недавно с полчаса назад пришёл из магазина и включил компьютер:
Код: Выделить всё
~$ systemctl status fstrim.timer
● fstrim.timer - Discard unused filesystem blocks once a week
Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; enabled; preset: enabled)
Active: active (waiting) since Fri 2025-03-21 17:19:45 +03; 38min ago
Trigger: Mon 2025-03-24 01:16:10 +03; 2 days left
Triggers: ● fstrim.service
Docs: man:fstrim
мар 21 17:19:45 H-4 systemd[1]: Started fstrim.timer - Discard unused filesystem blocks once a week.
Что-то мне не верится, что у меня при включении отработался trim. Исходя из такой логики, trim должен выполняться при каждом новом запуске системы. Тогда из каких соображений имеется целая служба с таймером?
Попытка найти концы пока что не увенчалась успехом. В
/etc/systemd/system/timers.target.wants
найден fstrim.timer, являющийся ссылкой на
/lib/systemd/system/fstrim.timer
Но его листинг ясности не внёс:
Код: Выделить всё
[Unit]
Description=Discard unused filesystem blocks once a week
Documentation=man:fstrim
ConditionVirtualization=!container
ConditionPathExists=!/etc/initrd-release
[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true
RandomizedDelaySec=100min
[Install]
WantedBy=timers.target
А вот сама служба:
Код: Выделить всё
[Unit]
Description=Discard unused blocks on filesystems from /etc/fstab
Documentation=man:fstrim(8)
ConditionVirtualization=!container
[Service]
Type=oneshot
ExecStart=/sbin/fstrim --listed-in /etc/fstab:/proc/self/mountinfo --verbose --quiet-unsupported
PrivateDevices=no
PrivateNetwork=yes
PrivateUsers=no
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
MemoryDenyWriteExecute=yes
SystemCallFilter=@default @file-system @basic-io @system-service
Можно было бы предположить, что при старте службы выполняется
/sbin/trim
, но в /sbin я trim не нашёл
Код: Выделить всё
~$ ls /sbin
...
sysctl
system-tools-backends
tarcat
tc
telinit
thermald
tipc
tune.exfat
tune2fs
tunefs.reiserfs
u-d-c-print-pci-ids
umount.ecryptfs
...