Настройка TRIM в Arch Linux (Manjaro)

Теги

Trim — команда интерфейса ATA, позволяющая операционной системе уведомить твердотельный накопитель о том, какие блоки данных не несут полезной нагрузки и их можно не хранить физически.

Команда TRIM была введена вскоре после появления твердотельных накопителей (SSD), чтобы сделать их конкурентоспособной альтернативой традиционным HDD в персональных компьютерах. Из-за того, что на внутреннем уровне реализация операций в SSD существенно отличается от реализации тех же операций в традиционных механических жёстких дисках, обычные методы операционных систем для таких операций, как удаление файлов и форматирование диска (не обращаясь непосредственно к затрагиваемым секторам/страницам на накопителе), приводит к прогрессирующему ухудшению производительности операций записи на SSD. Применение Trim позволяет SSD уменьшить влияние сборки мусора, которая в противном случае в дальнейшем выразится падением производительности операций записи в затронутые секторы.

Твердотельные накопители (SSD) не достаточно просто подключить чтобы они заработали должным образом в Manjaro Linux. Необходимо учитывать некоторые специфичные вещи для достижения оптимальной производительности, такие как выравнивание разделов, выбор файловой системы, поддержка TRIM и т.д.

Применение TRIM по systemd таймеру, Проверяем статус сервиса:

# sudo systemctl status fstrim.timer

Вывод inactive:

fstrim.timer - Discard unused blocks once a week

Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; disabled; vendor preset: disabled)

Active: inactive (dead)

Trigger: n/a

Triggers: fstrim.service

Docs: man:fstrim

Запуск fstrim.timer:

# sudo systemctl start fstrim.timer

Вывод active:

fstrim.timer - Discard unused blocks once a week

Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; disabled; vendor preset: disabled)

Active: active (running) since Mon 2021-04-05 08:28:05 MSK; 3s ago

Trigger: n/a

Triggers: fstrim.service

Docs: man:fstrim

Пакет util-linux предоставляет systemd юнит файлы fstrim.service и fstrim.timer . Если включить таймер, то сервис будет активироваться еженедельно, подравнивая все примонтированные файловые системы на устройствах, поддерживающих операцию discard. 

Проверяем листинг всех таймеров включенных в системе:

# systemctl list-timers --all

Добавляем включение fstrim.timer:

# sudo systemctl enable fstrim.timer

Применение TRIM по расписанию cron (Этот метод не работает для файловых систем VFAT):

# fstrim -v /

Раздел, который вы хотите "подтримить" должен быть примонтирован и должен быть указан точкой монтирования. Если вам больше подходит данный способ, хорошей идеей будет запуск этой команды время от времени с помощью планировщика cron. Чтобы запускать эту команду ежедневно, установите cron пакет (cronie), реализация которого по умолчанию установлена на запуск ежечасных, ежедневных, еженедельных и ежемесячных заданий. Обратите внимание, что cronie systemd сервис не включен по умолчанию в новых установках Arch.

Обратитесь к основной WiKi за дополнительной информацией.


Существуют также другие файловые системы, специально предназначенные для SSD, например F2FS.