К содержанию
АльфаКомпВсё о компьютерах — каждый день
Сборка ПКИнструкция5 минут чтения

Настройка и оптимизация TRIM для SSD накопителей в Linux

Подробное руководство по проверке и активации команды TRIM для твердотельных накопителей в Linux для продления срока службы и сохранения производительности.

Твердотельный накопитель SSD на материнской плате компьютера

Фото: Andrey Matveev / Pexels

Содержание
  1. Что понадобится
  2. Проверка поддержки TRIM накопителем
  3. Выбор режима работы с TRIM
  4. Настройка периодического TRIM
  5. Настройка непрерывного TRIM
  6. Полная очистка накопителя и свободного пространства
  7. Если не получилось

Что понадобится

  • Операционная система Linux с ядром версии 3.8 или новее.
  • Пакет util-linux, содержащий утилиты fstrim и системные таймеры.
  • Утилита hdparm (только для накопителей с интерфейсом SATA).
  • Права суперпользователя (root) для изменения параметров монтирования и запуска служебных команд.

Проверка поддержки TRIM накопителем

Перед началом любых процедур необходимо убедиться, что ваш твердотельный накопитель корректно обрабатывает команды TRIM. В отличие от жестких дисков, где удаление файлов фиксируется лишь на уровне файловой системы, SSD требуют уведомления контроллера об освобождении блоков памяти для предотвращения деградации ячеек и избыточной записи (write amplification).

  1. Откройте терминал и выполните диагностическую команду для проверки через утилиту lsblk:
lsblk --discard
  1. Проанализируйте значения в колонках DISC-GRAN (гранулярность discard) и DISC-MAX (максимальный размер discard). Ненулевые показатели подтверждают наличие аппаратной поддержки TRIM.
  2. Для накопителей с интерфейсом SATA дополнительно проверьте устройство с помощью утилиты hdparm:
hdparm -I /dev/sda | grep TRIM

Учтите, что пакет hdparm не поддерживает современные накопители формата NVMe.

Выбор режима работы с TRIM

Существует два основных способа отправки команд TRIM контроллеру диска: периодический и непрерывный. Сообщество Linux рекомендует использовать периодический вариант, так как непрерывная отправка команд способна создавать лишнюю нагрузку. Например, дистрибутив Ubuntu активирует периодическую очистку по умолчанию, тогда как Debian и Red Hat также советуют применять именно этот метод.

Поддержка TRIM в файловых системах внедрялась постепенно. Btrfs поддерживает асинхронный discard по умолчанию начиная с версии ядра 6.2. Файловая система exFAT получила поддержку fstrim в ядре 5.13, а VFAT — начиная с версии 4.19. Для NTFS стандартный драйвер ядра поддерживает TRIM, тогда как драйвер ntfs3 работает иначе, а NTFS-3G FUSE требует специфических параметров.

Настройка периодического TRIM

Пакет util-linux предоставляет готовые модули systemd: fstrim.service и fstrim.timer. Активация таймера запускает службу автоматически с интервалом в одну неделю на всех совместимых смонтированных файловых системах.

  1. Таймер ориентируется на временную метку файла /var/lib/systemd/timers/stamp-fstrim.timer, создаваемого при первой активации, поэтому частые повторные запуска исключены.
  2. Для проверки текущей активности и статуса службы используйте системный журнал:
journalctl -u fstrim.timer

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

Настройка непрерывного TRIM

Если вы предпочитаете отправлять команды очистки сразу в момент удаления файлов, применяется непрерывный режим через параметры монтирования.

  1. Добавьте опцию discard в файл /etc/fstab для нужного раздела:
/dev/disk/by-designator/root / ext4 defaults,discard 0 1
  1. Учтите, что для файловой системы XFS на корневом разделе этот способ не работает напрямую — параметр необходимо передавать через ядро посредством rootflags=discard.
  2. Для файловой системы ext4 флаг discard можно зафиксировать как стандартную опцию монтирования через утилиту tune2fs:
tune2fs -o discard /dev/sdXY

Этот метод особенно удобен для внешних носителей, так как параметры сохраняются при подключении диска к другим компьютерам без ручной правки fstab.

Полная очистка накопителя и свободного пространства

Если требуется полностью обнулить SSD перед новой установкой системы или продажей, воспользуйтесь утилитой blkdiscard:

blkdiscard /dev/sdX

Для очистки неразмеченного пространства между разделами, чтобы контроллер мог использовать свободные секторы для выравнивания износа, задействуйте fdisk:

  1. Запустите fdisk для выбранного накопителя.
  2. Введите команду T, после чего нажмите клавишу f.
  3. Альтернативный вариант — запуск sfdisk с соответствующим ключом:
sfdisk --discard-free /dev/sdX

При использовании менеджера логических томов LVM запросы TRIM от файловой системы автоматически транслируются на физические тома. Тем не менее, стандартные операции вроде lvremove или lvreduce не передают TRIM физическому диску по умолчанию, позволяя восстановить конфигурацию через vgcfgrestore. За это поведение отвечает параметр issue_discards в файле /etc/lvm/lvm.conf.

Если не получилось

  • Команды диагностики возвращают нулевые значения: проверьте режим работы контроллера в BIOS/UEFI, убедитесь, что включен AHCI или NVMe, а не устаревший IDE.
  • Ошибки при монтировании с опцией discard: проверьте версию вашего ядра Linux. Поддержка discard для ряда файловых систем появилась только в относительно свежих релизах ядра.
  • Система зависает при удалении файлов в непрерывном режиме: отключите параметр discard в /etc/fstab и переключитесь на периодическую очистку через systemd таймер fstrim.timer.

Вопросы и ответы

Как проверить, поддерживает ли мой SSD команду TRIM в Linux?

Необходимо выполнить команду lsblk --discard в терминале и проверить колонки DISC-GRAN и DISC-MAX на наличие ненулевых значений.

Какой режим TRIM лучше выбрать: периодический или непрерывный?

Большинство дистрибутивов и разработчиков рекомендуют периодический TRIM через fstrim.timer, так как он не создает лишней нагрузки при повседневном удалении файлов.

Источники

Материал подготовлен автоматически на основе открытых источников. Факты автоматически сверены с публикациями из списка ниже. Как мы работаем

  1. wiki.archlinux.org:Solid state drive - ArchWiki
Поделиться:TelegramВКонтакте

Опубликовано 2 октября 2026

Рубрики

↑↓ — выбор, Enter — открыть, Esc — закрыть