В настоящее время я пытаюсь выяснить, как обрезать мой новый 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
статья вики предлагает еженедельно или ежедневно. Теперь к моим вопросам:
Как часто выполняется автоматическая обрезка? Как часто это рекомендуется? Онлайн или ручная обрезка?
Спасибо за помощь
Я не инженер по хранению, и у меня есть собственные проблемы, связанные с , но я могу сделать, возможно, полезное предложение по планированию. Я уверен, что TRIM не вызывает беспокойства на SSD. Это просто ведение домашнего хозяйства, что ваш диск в конечном итоге придется пройти, прежде чем он сможет начать утилизацию блоков. Лучший график для пакетного TRIMming будет зависеть от использования; я думаю, это функция записи частоты и свободного пространства. Имея это в виду, я бы отключил работу cron и fstrim -v
вручную на несколько дней.
Я думаю, уловка состоит в том, чтобы создать график, в котором пакетная программа TRIM подготавливает твердотельный накопитель к записи до того, как использованные блоки должны быть переработаны для выполнения обычной операции записи, что снижает производительность. Подождите 24 часа и fstrim. Если он утверждает, что обрезал гораздо меньше блоков, чем было в свободном пространстве, вы, вероятно, хорошо обслуживаете пакетный TRIMming реже, чем этот.
Разница между автоматической и ручной обрезкой заключается в том, что автоматическая обрезка (с использованием опции монтирования 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 в основном заполнен или вы, например, редактируйте видеофайлы чаще, вам придется чаще их обрезать.
Я подготовил fstrim demon https://github.com/dobek/fstrimDemon
Кажется более надежным выполнять fstrim на основе времени готовности, чем таблица cron. Веселитесь.
Я подрезал свой 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 была загружена.