POWERED BY RBSOFT

Включение TRIM на SSD.

> Linux
Дата обновления: 23 мая 2024 г. Дата публикации: 23 мая 2024 г. Автор: Стрекаловский Александр

Команда TRIM даёт возможность операционной системе проинформировать диск SSD, что конкретные блоки больше не используются и могут быть стёрты и использованы вновь. Без TRIM скорость SSD со временем снижается и ухудшается равномерное использование ячеек алгоритмами контроллера SSD.
hard drive, ssd, hdd
До включения TRIM убедитесь, что:

  • Ядро линукс вашего дистрибутива старше 2.6.33
  • Ваш SSD поддерживает TRIM. Узнайте версию прошивки sudo hdparm -i /dev/ваш_диск | grep -i Fw и прочтите на официальном сайте о поддержке или sudo hdparm -I /dev/sda | grep “TRIM”.
  • Разделы у вас в ext4 или btrfs.

discard в fstab.

Самый, наверное, простой способ включить поддержку TRIM для диска SSD — это указать параметр discard у разделов в /etc/fstab.

sudo -e /etc/fstab

Это пример. Не копируйте весь текст целиком, а просто добавьте discard к тем разделам, которые физически размещаются на диске SSD.

# file system                    mount point type   options               dump  pass
# / was on /dev/sda1 during installation
UUID=69006d4f-bdd7-4fb8-a4ff-fe3adbcc5c73 /  ext4    discard,errors=remount-ro 0       1

Теперь, после перезагрузки компьютера, разделы, расположенные на SSD, будут подмонтированы с параметром discard.

TRIM через cron.

Если по неведомой причине, совет с discard не применим, то можно команду TRIM запланировать на работу через планировщик cron.

sudo -e /etc/cron.daily/trim

и вставьте строки и сохраните файл.

#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG

В примере подразумевается что у вас два раздела, корень / и домашний раздел /home. Если это не так, то удалите лишнее или добавьте нужное.

До поручения планировщику заниматься выполнением TRIM, желательно самому в Терминале проверить работу команды fstrim — sudo fstrim-v /.

Не забудьте сделать /etc/cron.daily/trim исполняемым — sudo chmod +x /etc/cron.daily/trim.

Так как в Ubuntu используется anacron, то пропущенные задания будут выполнены, так что не стоит беспокоиться, что наше «дневное» задание будет пропущено. Гарантированно или раз в сутки или при включении компьютера, планировщик вызовет наш /etc/cron.daily/trim и выполнит fstrim для разделов.

TRIM для зашифрованных разделов.

ВЫ ДЕЙСТВУЕТЕ НА СВОЙ СТРАХ И РИСК.

Откройте с правами рута файл /etc/default/grub — sudo -e /etc/default/grub

Найдите параметр GRUB_CMDLINE_LINUX и добавьте параметры, так чтобы привести к виду GRUB_CMDLINE_LINUX=»allow-discards root_trim=yes».

Сохраните изменения и выполните команду sudo update-grub.

Откройте с правами рута файл /etc/crypttab — sudo -e /etc/crypttab. Аккуратно добавьте параметр discard, ориентируясь по примеру

#target name       source device              key file    options
var  UUID=01234567-89ab-cdef-0123-456789abcdef  none  luks,discard