Гид по технологиям

Оптимизация SSD в Linux — простое руководство

6 min read Linux Обновлено 06 Jan 2026
Оптимизация SSD в Linux — быстрое руководство
Оптимизация SSD в Linux — быстрое руководство

linux-ssd

Получите максимум от своего SSD в Linux — ниже собраны проверенные практики, объяснения и команды для быстрого применения.

Почему это важно

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

Важно: термин TRIM означает передачу SSD информации о том, какие блоки больше не используются файловой системой; это позволяет контроллеру эффективнее перераспределять свободное пространство.

Обновите дистрибутив

Всегда полезно держать дистрибутив и ядро в актуальном состоянии. Современные ядра, модули NVMe и драйверы файловых систем получают оптимизации и исправления, улучшающие совместимость с SSD. Если вы на очень старом, но всё ещё поддерживаемом релизе — подумайте об обновлении.

Обновите прошивку SSD

linux_ssd_ext4

Прошивка контроллера часто содержит улучшения управления износом, стабильности и совместимости. Поиск инструкций зависит от производителя: некоторые вендоры поддерживают обновление через Linux (fwupd), другие предлагают загрузочные образы или Windows-утилиты.

Полезные шаги:

  • Проверьте поддержку fwupd: sudo fwupdmgr get-devices
  • Если вендор не поддерживает fwupd, посмотрите документацию производителя на сайте.

Важно: обновление прошивки можно выполнять только с устойчивым питанием; прерывание процесса может вывести накопитель из строя.

Используйте ext4 как безопасный выбор

ext4 — надёжная и широко используемая файловая система с поддержкой TRIM. Для большинства настольных и серверных задач это оптимальный выбор по умолчанию.

Альтернативы: btrfs и f2fs имеют свои плюсы (снапшоты, оптимизация для флеш), но требуют понимания особенностей и могут не подойти новичку.

Параметры монтирования при загрузке

linux_ssd_fstab

Редактируйте /etc/fstab, чтобы задать опции монтирования, уменьшающие ненужные записи:

  • noatime или relatime — отключает/смягчает обновление времени последнего доступа для файлов;
  • discard — включение онлайн-TRIM (не всегда рекомендуется);
  • defaults,errors=remount-ro и другие стандартные параметры.

Откройте fstab:

sudo nano /etc/fstab

Пример строки для ext4 (вставьте свой UUID):

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults,discard,noatime,errors=remount-ro 0 1

Примечание по discard vs fstrim:

  • Опция discard выполняет TRIM «на лету» при удалении файлов. На некоторых SSD это может снижать производительность, особенно при высокой нагрузке.
  • Плановая команда fstrim (через systemd-timer) выполняет TRIM периодически (рекомендуется для большинства систем).

Как запустить TRIM вручную и включить планировщик:

sudo fstrim -v /
sudo systemctl enable --now fstrim.timer
sudo systemctl status fstrim.timer

Если вы предпочитаете плановую очистку, удалите discard из /etc/fstab и используйте fstrim.timer.

Если какие-то приложения некорректно работают с noatime (редко), замените её на relatime — она обновляет время доступа вместе с записью изменения, уменьшая лишние операции записи.

Краткий чек: после правок выполните mount | grep “on / “ или cat /proc/mounts, чтобы убедиться в применении опций.

Не используйте SWAP на SSD при возможности

linux_ssd_noswap

Swap генерирует большое количество циклов записи и чтения. Если у вас достаточно оперативной памяти, лучше полностью отказаться от выделенного SWAP-раздела на SSD или переместить swap на HDD. Варианты:

  • Убрать swap-раздел и следить за использованием памяти (риск OOM при пиковых нагрузках);
  • Использовать zram (сжатый swap в памяти) — уменьшает обращение к диску и часто подходит для ноутбуков и настольных систем;
  • Разместить swap на вторичном жестком диске, если он есть;
  • Оставить swap-файл и тщательно контролировать swappiness.

Проверки и команды:

sudo swapon --show
cat /proc/swaps
cat /proc/sys/vm/swappiness
# временное уменьшение swappiness до 10
echo 10 | sudo tee /proc/sys/vm/swappiness
# постоянная запись в /etc/sysctl.conf

Помните: гибернация требует swap ≥ объёму RAM; если вы используете гибернацию, swap всё же нужен.

Мониторинг и обслуживание

  • SMART: используйте smartctl (smartmontools) для контроля здоровья SATA SSD: sudo smartctl -a /dev/sdX
  • NVMe: используйте nvme-cli для просмотра телеметрии: sudo nvme smart-log /dev/nvme0
  • Проверяйте наличие ошибок, резерв свободного пространства и параметры выравнивания разделов.

Проверка выравнивания раздела:

sudo fdisk -l /dev/sdX
# или lsblk -o NAME,START,SIZE,TYPE,MOUNTPOINT

Начало раздела должно быть кратным 2048 (обычно современные установщики делают это автоматически).

Дополнительные рекомендации и бытовые решения

  • Оставьте свободное место на SSD (не полностью заполняйте диск) — это помогает контроллеру эффективнее перераспределять износ.
  • Избегайте интенсивных логов и временных файлов на SSD: по возможности перенесите журналы на другой носитель или используйте tmpfs для временных каталогов (в RAM).
  • Шифрование диска (LUKS) и TRIM: учтите, что применение TRIM поверх зашифрованного контейнера может частично раскрывать информацию о свободных блоках; многие системы отключают TRIM для LUKS по умолчанию, взвесьте риски и преимущества.

Когда не применять эти советы

  • Если у вас очень старый SSD, некоторые фичи (например, discard) могут работать хуже — сначала протестируйте производительность.
  • В виртуальных машинах поведение TRIM может зависеть от гипервизора; in-guest TRIM может не доходить до физического носителя.
  • На серверах с критическими рабочими нагрузками не применяйте изменения без тестирования в контролируемой среде.

Мини-методология внедрения оптимизации

  1. Снимите бэкап важных данных.
  2. Обновите систему и проверяйте поддерживаемые инструменты (fwupd, nvme-cli, smartctl).
  3. Проверьте текущее состояние: swapon –show, mount, lsblk, smartctl.
  4. Решите: онлайн-discard или периодический fstrim. По умолчанию рекомендуется fstrim.timer.
  5. Откажитесь от swap или настройте zram/перенос на HDD; при необходимости уменьшите vm.swappiness.
  6. Наблюдайте неделю и вернитесь к предыдущим настройкам при ухудшении работы.

Ролевые чеклисты

Desktop (пользователь):

  • Обновить дистрибутив и прошивку SSD
  • Включить fstrim.timer
  • Установить noatime или relatime
  • Отключить swap или включить zram

Laptop (ноутбук):

  • Как для Desktop, плюс: включить режим энергосбережения и проверить влияние discard на автономность
  • Проверить работу гибернации при отключённом swap

Server:

  • Тестировать в staging среде
  • Отключать discard, использовать fstrim по расписанию
  • Мониторить SMART и NVMe-логи

Виртуальная машина:

  • Проверить у гипервизора поддержку TRIM
  • Возможно, отключить TRIM внутри гостя и делегировать управление на уровень хоста

Критерии приёмки

  • fstrim выполняется успешно: sudo fstrim -v / (должен вернуть освобождённый объём)
  • swap отсутствует или находится не на SSD: swapon –show
  • Система монтирует разделы с нужными опциями: cat /proc/mounts или mount | grep “ / “
  • SMART/NVMe не показывают критических ошибок: sudo smartctl -H /dev/sdX или sudo nvme smart-log /dev/nvme0

Быстрый справочник команд

# редактируем fstab
sudo nano /etc/fstab
# запустить TRIM вручную
sudo fstrim -v /
# включить timer для fstrim
sudo systemctl enable --now fstrim.timer
# проверить swap
sudo swapon --show
# проверить swappiness
cat /proc/sys/vm/swappiness
# уменьшить swappiness
echo 10 | sudo tee /proc/sys/vm/swappiness
# SMART для SATA SSD
sudo smartctl -a /dev/sdX
# NVMe smart
sudo nvme smart-log /dev/nvme0

Мермайд: простое дерево решений

flowchart TD
  A[Есть SSD?] -->|Да| B{Используется TRIM в системе}
  A -->|Нет| Z[Обычная оптимизация HDD]
  B -->|Нет| C[Включить fstrim.timer]
  B -->|Да| D{Есть swap на SSD}
  D -->|Да| E[Перенести swap или использовать zram]
  D -->|Нет| F[Проверить noatime/relatime и мониторинг]
  C --> F
  E --> F

Глоссарий (по одной строке)

  • TRIM: команда для информирования SSD о неиспользуемых блоках.
  • noatime: опция монтирования, отключающая обновление времени доступа.
  • fstrim: утилита для принудительного выполнения TRIM.
  • zram: сжатый swap в памяти, уменьшающий обращения к диску.

Заключение

Небольшие и продуманные изменения в конфигурации Linux заметно улучшают поведение SSD: меньше лишних записей, более предсказуемая производительность и дольше срок службы. Для большинства пользователей достаточно обновить дистрибутив и прошивку, использовать ext4, включить плановый fstrim и избегать swap на SSD. Более сложные варианты (btrfs, f2fs, тонкая настройка контроллера) требуют тестирования в вашей среде.

Что сработало у вас? Поделитесь опытом в комментариях.

Изображения: сохранены авторские пути.

Image Credits: Robert Via Flickr

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Тёмная тема в Google Sheets — как включить
Советы

Тёмная тема в Google Sheets — как включить

Ссылка-приглашение в WhatsApp: как создать
Социальные сети

Ссылка-приглашение в WhatsApp: как создать

Numi — красивый калькулятор для Mac
Приложения

Numi — красивый калькулятор для Mac

Siri на HomePod: пользовательские объявления HomeKit
HomeKit

Siri на HomePod: пользовательские объявления HomeKit

Восстановление учётной записи Microsoft через форму
Безопасность

Восстановление учётной записи Microsoft через форму

Защита медицинских IoT‑устройств от взлома
Кибербезопасность

Защита медицинских IoT‑устройств от взлома