if ($answer_counter == 1): ?>
endif; ?>
Ubuntu 14.10 вперед
В Ubuntu 14.10 и 15.04 TRIMming происходит автоматически каждую неделю на всех SSD, поддерживаемых fstrim
.
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
Ubuntu 14.04
Как и в Ubuntu 14.04, запланированный TRIM по умолчанию для включен для Intel, SAMSUNG, OCZ, Patriot и Sandisk SSD. Если у вас есть другой бренд, вы можете отключить проверку поставщика, выполнив следующую команду
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(или просто отредактируйте файл /etc/cron.weekly/fstrim
и добавьте --no-model-check
)
Ubuntu 13.10 и ранее
Существует три способа выполнения TRIM, ручного, планового и автоматического:
Ручной TRIM
В Ubuntu это можно выполнить с помощью fstrim
:
sudo fstrim /
однако он не нужен, когда включены плановые или автоматические TRIM, как описано в следующих разделах. Р>
Примечание: Для Ubuntu 11.04 и более ранних систем fstrim недоступен, поэтому вам нужно использовать wiper.sh
, поставляемое с hdparm
в /usr/share/doc/hdparm/contrib/wiper.sh.gz
Запланированный TRIM (рекомендуется)
Это рекомендуемый метод и планируется активировать по умолчанию для Ubuntu 14.04 . Вот как активировать его вручную в более ранних версиях 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 (устаревший, медленный)
Автоматический 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
Чтобы проверить, работает ли 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
, например. sda, sdb, sdc ...
Запустите следующее, но замените [ADDRESS]
(begin_LBA) и sdX
(имя устройства SSD) с данными, полученными выше.
sudo hdparm --read-sector [ADDRESS] /dev/sdX
вывод должен быть длинной строкой символов для этих секторов
sudo rm tempfile
sync
Повторите команду hdparm
сверху:
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Если вы получаете только нули, тогда работает автоматический TRIM. Однако, если после удаления файла секторы все еще не пусты, подождите некоторое время и снова запустите команду.