Автоматическая TRIM против ручной TRIM

В настоящее время я пытаюсь выяснить, как обрезать мой новый TP, и мне было интересно узнать разницу между ручной и онлайн-обрезкой.

Вот мои настройки:

ThinkPad T430s с твердотельным накопителем Samsung 830, 128 ГБ и Xubuntu 12.10, вот несколько выходов, чтобы проверить, будет ли работать подстройка на моей системе (они получены здесь: http: //wiki.ubuntuusers.de/SSD/TRIM)

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

Сначала я попробовал онлайн обрезку: Как включить TRIM?

my fstab со вставкой сброса:

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Я пытался проверить, работает ли он (но я не получаю никаких нулей, когда пытаюсь сделать это с / dev / sda), но обнаружил, что этот метод возможен только с SSD типа 2, а у меня, похоже, тип 3. Поэтому я не знаю, работает ли он или нет.

Ubuntuwiki (первая ссылка) рекомендует ручную обрезку, поэтому я установил ежедневный cronjob вместо сброса:

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

статья вики предлагает еженедельно или ежедневно. Теперь к моим вопросам:

Как часто выполняется автоматическая обрезка? Как часто это рекомендуется? Онлайн или ручная обрезка?

Спасибо за помощь

12
задан 13 April 2017 в 15:23

4 ответа

Я не инженер по хранению, и у меня есть собственные проблемы, связанные с , но я могу сделать, возможно, полезное предложение по планированию. Я уверен, что TRIM не вызывает беспокойства на SSD. Это просто ведение домашнего хозяйства, что ваш диск в конечном итоге придется пройти, прежде чем он сможет начать утилизацию блоков. Лучший график для пакетного TRIMming будет зависеть от использования; я думаю, это функция записи частоты и свободного пространства. Имея это в виду, я бы отключил работу cron и fstrim -v вручную на несколько дней.

Я думаю, уловка состоит в том, чтобы создать график, в котором пакетная программа TRIM подготавливает твердотельный накопитель к записи до того, как использованные блоки должны быть переработаны для выполнения обычной операции записи, что снижает производительность. Подождите 24 часа и fstrim. Если он утверждает, что обрезал гораздо меньше блоков, чем было в свободном пространстве, вы, вероятно, хорошо обслуживаете пакетный TRIMming реже, чем этот.

0
ответ дан 13 April 2017 в 15:23

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

Тестирование

Один из способов проверить, работает ли автоматическая обрезка, - создать и удалить большой файл:

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

Если работает автоматический сброс, ручная обрезка снова выиграет ' t обрезать много блоков, так как они уже должны быть обрезаны. Запустите sudo discard -v в вашей файловой системе и посмотрите, сколько блоков обрезано.

Рекомендация

Что и для чего рекомендуется: По моему опыту, автоматическая обрезка убивает производительность. Тем не менее, это, вероятно, зависит от оборудования; это может быть хорошо на вашем диске.

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

0
ответ дан 13 April 2017 в 15:23

Я подготовил fstrim demon https://github.com/dobek/fstrimDemon

Кажется более надежным выполнять fstrim на основе времени готовности, чем таблица cron. Веселитесь.

0
ответ дан 13 April 2017 в 15:23

Я подрезал свой SSD при каждой загрузке. Я сделал sh файл, который вызывается через 20 секунд после запуска. Я решил отображать вывод команды fstrim в системном уведомлении вместо файла журнала.

сначала создайте файл trim.sh в каталоге ~/bin

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

Теперь нам нужно дать пользователю привилегии для запуска fstrim, поэтому нам не нужно вводить пароль. Откройте файл sudoers с помощью visudo и добавьте следующую строку:

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

Если вы включите папку home/yourusername/bin в $PATH, вы также можете выполнить ручную обрезку в терминале с помощью команды «trim» без нужен пароль.

Теперь вы можете добавить свой скрипт в запускаемые приложения и указать задержку. Вам необходимо выйти / войти снова, чтобы ваша новая запись sudoers была загружена.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: