В Ubuntu 14.10 и 15.04 TRIMming происходит каждую неделю на всех SSD, поддерживаемых fstrim.
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
Начиная с Ubuntu 14.04, запланированный TRIM по умолчанию включен для твердотельных накопителей Intel, SAMSUNG, OCZ, Patriot и Sandisk. Если у вас есть другой бренд, вы можете отключить проверку поставщика, выполнив следующую команду:
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(или просто отредактируйте файл /etc/cron.weekly/fstrim и добавьте --no-model-check)
Существует три способа выполнения TRIM, ручного, планового и автоматического:
В Ubuntu это можно выполнить с помощью [ f17]:
sudo fstrim /
, однако это не обязательно, когда включены плановые или автоматические TRIM, как описано в следующих разделах.
Примечание: для включен по умолчанию для твердотельных накопителей Intel, SAMSUNG, OCZ, Patriot и Sandisk. и более ранних системах, fstrim недоступен, поэтому вы должны использовать wiper.sh, поставляемый с hdparm в /usr/share/doc/hdparm/contrib/wiper.sh.gz
Это рекомендуемый метод и fstrim . Вот как активировать его вручную в более ранних версиях ubuntu (от 11.10 до 13.10):
Создайте еженедельный файл сценария задания CRON:
gksudo gedit /etc/cron.weekly/fstrim
Вставьте следующий код в файл, затем сохраните и закройте файл:
#! /bin/sh
# By default we assume only / is on an SSD.
# You can add more SSD mount points, separated by spaces.
# Make sure all mount points are within the quotes. For example:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'
SSD_MOUNT_POINTS='/'
for mount_point in $SSD_MOUNT_POINTS
do
fstrim $mount_point
done
Обратите внимание, что вышесказанное предполагает, что на SSD установлена только ваша корневая файловая система /. Если у вас больше точек монтирования, которые находятся на одном или нескольких SSD, добавьте их в SSD_MOUNT_POINTS, как описано в коде.
Сделайте исполняемый файл сценария:
sudo chmod +x /etc/cron.weekly/fstrim
И, наконец, проверьте это:
sudo /etc/cron.weekly/fstrim
Если вы не видите ошибок, ваше задание cron должно работать нормально.
Автоматический TRIM поддерживается с Ubuntu 10.10 (ядро 2.6.33) с файловой системой EXT4. Тем не менее, отправка команд TRIM на SSD в режиме реального времени - после каждого удаления - распознается, чтобы сделать удаление на некоторых дисках намного медленнее, чем обычно. Поэтому рекомендуемый еженедельный TRIM через задание cron (описанное выше) рекомендуется.
Чтобы включить автоматический TRIM на диске или разделе, их необходимо установить с опцией discard в fstab. Сначала создайте резервную копию своего fstab, затем откройте его для редактирования:
sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Добавьте discard в запись параметров fstab (разделенные запятой) для накопителя SSD или каждого раздела.
UUID=00000000-0000-0000-0000-000000000000 / ext4 discard,errors=remount-ro 0 1
Закройте и сохраните fstab, затем перезагрузитесь и автоматически запустите TRIM.
Чтобы проверить, работает ли TRIM, следующие команды (источник):
cd / # Replace with SSD file system
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile
Из вывода скопируйте номер под begin_LBA и проверьте имя устройства вашего SSD: System->Administration->Disk Utility, например Примечание: ...
Запустите следующие, но замените [ADDRESS] (begin_LBA) и sdX (имя устройства SSD) с данными, полученными выше.
[ f11]
вывод должен быть длинной строкой символов для этих секторов
sudo rm tempfile
sync
Повторить команду hdparm сверху:
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Если вы получаете только нули, то автоматический TRIM работает. Однако, если после удаления файла секторы все еще не пусты, подождите некоторое время и снова запустите команду.