Включена ли TRIM в моем Ubuntu 18.04?

Я знаю, что еженедельный TRIM включен по умолчанию с 14.10 и далее. Источник: Как включить TRIM? Но при запуске sudo nano /etc/cron.weekly/fstrim возвращается пустой файл. Также tail -n1 /etc/cron.weekly/fstrim говорит, что этот файл не существует.

Запуск lsblk -D возвращает ненулевые значения для DISC-GRAN и DISC-MAX, поэтому TRIM поддерживается на моем SSD. Действительно ли еженедельная TRIM включена для моего SSD или нет?

Я использую SSD Kingston

37
задан 21 March 2019 в 12:22

2 ответа

Обрезке (fstrim/discard) позволяют работать еженедельно по умолчанию в 18,04.
Это установлено работать за всеми смонтированными файловыми системами на устройствах, которые поддерживают операцию отбрасывания.

Это - a systemd сервис, организованный через systemctl, не КРОН.

Представление 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, Trim все смонтированные файловые системы на устройствах, которые поддерживают операцию отбрасывания.
- v, Подробное выполнение. Произведите число байтов, переданных от файловой системы вниз стопка блока к устройству для потенциального отбрасывания.

Представление связанный systemd журналирует записи:

$ 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...
58
ответ дан 23 November 2019 в 00:17

Править: Прочитайте комментарии, этот ответ перепутывает два механизма!

Старый ответ

существует важный момент, который должен быть добавлен к ответу @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

Только после этого сервис таймера действительно сделает что-то.

Сноски

  • [1] на самом деле устройство должно поддерживать TRIM операция. Но на Linux, это - флаг файловой системы. Однако, устройство файловая система работает на потребностях поддерживать TRIM операция. Чтобы видеть, поддерживает ли Ваше устройство его, используйте: sudo hdparm -I /dev/sda | grep -i TRIM.
2
ответ дан 23 November 2019 в 00:17

Другие вопросы по тегам:

Похожие вопросы: