Команда TRIM была введена вскоре после появления твердотельных накопителей (SSD), чтобы сделать их конкурентоспособной альтернативой традиционным HDD в персональных компьютерах. Из-за того, что на внутреннем уровне реализация операций в SSD существенно отличается от реализации тех же операций в традиционных механических жёстких дисках, обычные методы ОС для таких операций, как удаление файлов и форматирование диска (не обращаясь непосредственно к затрагиваемым секторам и страницам на накопителе), приводит к прогрессирующему ухудшению производительности операций записи на SSD. Применение TRIM позволяет устройству SSD уменьшить влияние сборки мусора, которая в противном случае в дальнейшем выразится падением производительности операций записи в затронутые секторы.
Для старых накопителей (SSD), произведённых до добавления команды TRIM в стандарт ATA, необходимо обновление прошивки. Так же команда TRIM не поддерживается в старых операционных системах и ряде современных Linux-сборок. В Windows TRIM поддерживается по умолчанию начиная с финального релиза Windows 7 и Windows Server 2008 R2. В OpenSolaris TRIM поддерживается с июля 2010-го года. В Mac OS X с версии 10.10.4 для любых SSD, до этого только для SSD поставляемых Apple. Во FreeBSD версий 8.3, 9.2, 10.0 и новее TRIM поддерживается в файловых системах UFS и ZFS. В Android начиная с версии 4.3 в систему была добавлена поддержка функции fstrim, которая является аналогом TRIM.
В Linux TRIM поддерживается начиная с версии ядра 2.6.33 в файловых системах EXT4 и BTRFS. Однако не во всех дистрибутивах команда добавлена по умолчанию. Например в Ubuntu (о ней и пойдёт речь) "из коробки" она работает только с версии 14.10. Последний, на сегодня, долгосрочный релиз - версия 14.04.
И так, для того чтобы TRIM работала в Linux необходимо чтоб ядро было как минимум версии 2.6.33 и новее. SSD должен поддерживать команду TRIM. Файловая система должна быть EXT4 или BTRFS. Поскольку подавляющее большинство пользователей используют файловую систему EXT4, то речь пойдёт о ней.
Если вы не уверены, что ваш SSD поддерживает TRIM, введите следующую команду:
sudo hdparm -I /dev/sda | grep "TRIM supported"Где /dev/sda - ваш SSD. Если вы не уверены какое именно устройство - SDD, то введите команду
sudo fdisk -lЕсли TRIM поддерживается, то вывод первой команды будет примерно таким:
Data Set Management TRIM supported (limit 1 block)
В версиях Ubuntu, начиная с 14.10 и производных TRIM запускается раз в неделю по умолчанию (как и в Android через fstrim). Для предыдущих версий (или если раз в неделю вас не устраивает) прописываем в Cron ежедневную задачу:
gksu nano /etc/cron.daily/trim Или
gksu gedit /etc/cron.daily/trim И в файл вставляем следующее:
#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
/sbin/fstrim -v / >> $LOG
/sbin/fstrim -v /home >> $LOG Последние две команды указывают на точки монтирования файловых систем. Имеется ввиду, что ОС (/) и домашний раздел (/home) у вас на SSD. Если домашний раздел не на SSD, то последняя строка не нужна.
Можно всё это упростить и прописаться следующее:
#!/bin/sh
/sbin/fstrim --all || trueВ этом случае логи вестись не будут и TRIM будет выполняться на всех поддерживаемых дисках.
Сохраняем файл и прописываем права.
sudo chmod +x /etc/cron.daily/trim Чтобы проверить работает ли команда TRIM введите следующее:
sudo fstrim -v / Выдача будет примерно такая:
/: 12.3 GiB (13154824192 bytes) trimmed
___
Tatyana K. По материалам
Tatyana K. По материалам





