TRIM – это команда, которую мы используем, чтобы сообщить ОС о необходимости очистки. Windows 11 это позволяет, но как насчет Ubuntu? Как включить TRIM для SSD в Ubuntu?
Создание задания TRIM Cron для вашего SSD
- Чтобы убедиться, что SSD в вашем компьютере поддерживает TRIM, откройте терминал и введите:
sudo hdparm -I /dev/sda
Если Ubuntu не установлена в первом разделе SSD, изменитеsda
, чтобы отразить раздел, в котором находится Ubuntu. Это можно сделать, выполнив командуlsblk
.
- Прокрутите список вниз, пока не увидите раздел «Enabled Supported». Прокрутите список дальше, и если вы увидите что-то вроде «Data Set Management TRIM supported (limit 8 blocks),» то TRIM поддерживается для вашего SSD.
- Проверьте, работает ли функция TRIM в Ubuntu. В терминале введите:
sudo fstrim -v /
Это очистит корневой раздел SSD. В случае успеха вы должны увидеть что-то похожее на следующее изображение.
- Установите задание cron для ОС, чтобы отправлять команду TRIM один раз в день.
sudo nano /etc/cron.daily/trim
- Вставьте следующий код в пустую область:
#!/bin/sh fstrim -v /
- Если каталог HOME расположен на другом разделе, вы можете добавить дополнительную строку в конец приведенного выше кода:
fstrim -v /home >> $LOG
- Если вы хотите сохранить вывод в файл журнала, используйте следующий код вместо этого:
#!/bin/sh LOG=/var/log/trim.log echo "*** $(date -R) ***" >> $LOG fstrim -v / >> $LOG fstrim -v /home >> $LOG
- Сохранить (Ctrl + O) и выйти (Ctrl + X).
- Сделайте задание cron исполняемым:
sudo chmod a+x /etc/cron.daily/trim
Использование опции Discard в fstab
Помимо ручного вызова fstrim
, вы также можете настроить систему на постоянный «сброс» неиспользуемого пустого пространства на диске. Это может быть полезно, если вы пользуетесь ноутбуком и не хотите постоянно оставлять компьютер включенным.
- Проверьте значение UUID вашего корневого раздела:
ls -l /dev/disk/by-uuid
- Откройте файл «/etc/fstab» с помощью вашего любимого текстового редактора. В моем случае я использую GNU Nano:
sudo nano /etc/fstab
- Найдите запись корневого раздела в «/etc/fstab», нажав Ctrl W, затем введите значение UUID.
- Перейдите к записи корневого раздела и введите
discard,noatime,
перед опцией «errors=remount-ro». Например, в моем файле «/etc/fstab» есть следующая запись корневого раздела:
# <file system> <mount point> <type> <options> <dump> <pass> UUID=xxx / ext4 discard,noatime,errors=remount-ro 0 1 [...]
- Сохраните новый файл «/etc/fstab», нажав Ctrl O, затем Ctrl X.
- Наконец, перезагрузите машину, чтобы применить новые настройки.
Часто задаваемые вопросы
Могу ли я одновременно использовать fstrim и discard на моем SSD?
Да. Однако это не приведет ни к заметному улучшению, ни к продлению срока службы вашего SSD, поскольку и fstrim, и discard используют схожие процедуры TRIM при удалении неиспользуемых свободных блоков.
Зная это, fstrim и discard отличаются одним ключевым моментом: частотой. Первый накапливает все неиспользуемые блоки, прежде чем «освободить» их, в то время как второй «освобождает» блок, как только он становится неиспользуемым. Это означает, что discard всегда будет занимать больше системных ресурсов и дисковых операций, чем fstrim.
В моем файле /etc/fstab нет UUID для корневого раздела.
Это, скорее всего, связано с тем, что в вашей системе используется либо аппаратная RAID-карта, либо утилита управления логическими томами (LVM). По умолчанию TRIM работает только в системах, использующих традиционные дисковые разделы и файловые системы, такие как ext4.
Независимо от этого, некоторые программы LVM предоставляют удобную опцию для выполнения TRIM. В Ubuntu вы можете добавить issue_discards = 1
в файл «/etc/lvm/lvm.conf» для автоматического TRIM всех неиспользуемых свободных блоков.
Можно ли изменить частоту выполнения команды fstrim?
Да. По умолчанию Linux предоставляет несколько файлов таймеров, которые позволяют точно настроить время использования fstrim. Например, вы можете выполнить команду sudo mv /etc/cron.daily/trim /etc/cron.weekly/trim
, чтобы изменить частоту TRIM с каждого дня на каждую неделю.
Комментарии (0)