Какие шаги следует предпринять до / во время / после установки Ubuntu на твердотельный накопитель, чтобы оптимизировать производительность и обеспечить максимальную долговечность накопителя?
Я успешно использовал несколько различных методов, чтобы улучшить то, как Ubuntu использует запоминающее устройство, будь то твердотельный или традиционный диск.
Для SSD-накопителей вы ищете возможность минимизировать время записи на диск, так как чтение не должно увеличивать износ диска.
1) Управление файлом подкачки
Если вы не переходите в спящий режим и у вас есть достаточно оперативной памяти для запуска всех приложений, то теоретически вам не нужен раздел подкачки.
Если у вас смесь SSD и жестких дисков, поместите раздел подкачки только на жесткие диски.
2) Запись без метки времени чтения (подходит для SSD и жестких дисков)
Монтаж разделов с помощью опций noatime и nodiratime остановит запись метки времени при считывании файлов и папок. Эти временные метки обычно не требуются, если только вы не используете локальный клиент почтового сервера, такой как mutt. Причина, по которой это обычно плохая идея, заключается в том, что при каждом чтении будет производиться запись при обновлении меток времени. Это уменьшает срок службы SSD.
Редактируйте конфигурационный файл /etc/fstab (аккуратно - сделайте резервную копию, чтобы быть уверенным, так как нарушение конфигурации fstab может помешать работе системы):
cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Редактируйте опции монтирования ваших разделов, добавляя текстовое noatime и nodiratime к строкам, определяющим ваш корневой (/) и другие разделы, если они у вас есть (/home) - Примечание: если у вас есть раздел /home, начните с того, что просто измените этот раздел, если вы беспокоитесь о том, чтобы что-то сломать
# / was on /dev/sda2 during installation
UUID=587e0dc5-2db1-4cd9-9792-a5459a7bcfd2 / ext4 noatime,nodiratime,errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=2c919dc4-24de-474f-8da0-14c7e1240ab8 /home ext4 noatime,nodiratime,defaults 0 2
Вам нужно будет перезагрузить машину до того, как эти изменения вступят в силу
3) Сведение к минимуму записей из ОС и приложений
Предположим, что вы не используете критически важный сервер продукта, большинство людей не просматривают журналы, если что-то пойдет не так (особенно учитывая, что серьёзные ошибки редко встречаются у большинства пользователей Ubuntu). Поэтому вы можете настроить Ubuntu так, чтобы все журналы записывались в оперативную память, а не на SSD.
Примечание: вносите следующие изменения только после установки всего программного обеспечения, которое вы собираетесь использовать (особенно такие вещи, как веб-сервер Apache), в противном случае вы можете столкнуться с некоторыми проблемами с отсутствующими каталогами в /var/log
Для справки о фоновом режиме такого подхода см. продление срока службы вашего флэш-накопителя на ubuntu-eee. com
Откройте /etc/fstab с помощью редактора (предполагая, что вы сделали резервную копию файла /etc/fstab)
gksudo gedit /etc/fstab
Добавьте следующие строки в конце fstab-файла и сохраните:
# Uncomment these after all server based applications installed - eg. apache
#tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
#tmpfs /var/log/apt tmpfs defaults,noatime 0 0
# none /var/cache unionfs dirs=/tmp:/var/cache=ro 0 0
Вам нужно будет перезагрузить машину, прежде чем эти изменения вступят в силу
Смотрите также:
Курс быстрой настройки для вашего SSD в Ubuntu:
файловая система
Arch wiki упоминает несколько предпочтительных вариантов файловой системы SSD - один из них нестабилен, другие являются ext * единицами. Я полагаю, ext4 - один из лучших вариантов.
Примечание. В случае ext4 вы можете использовать параметр монтирования discard
.
fstab
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
tmpfs /tmp tmpfs nodev,nosuid,noatime,mode=1777 0 0
/dev/sda1 / ext4 defaults,noatime,discard,errors=remount-ro 0 1
/dev/sda2 /home ext4 defaults,noatime,discard,user_xattr 0 2
/dev/sda3 /windows ntfs defaults,noatime,discard,umask=007,gid=46 0 0
Вот несколько важных моментов:
. В настоящее время он нужен только для гибернации, поскольку современные машины имеют довольно большой объем оперативной памяти. Параметры noatime
и отменить
. Информация здесь . scheduler
Рассмотрите возможность переключения с планировщика по умолчанию, которым в большинстве дистрибутивов Linux является cfq (полностью справедливая организация очереди), на планировщик noop или deadline для SSD. Использование планировщика noop, например, просто обрабатывает запросы в порядке их получения, не обращая внимания на то, где данные физически находятся на диске. Этот вариант считается выгодным для SSD, поскольку время поиска одинаково для всех секторов SSD.
Добавьте следующее в /etc/rc.local :
# SSD performance tuning
echo noop > /sys/block/sda/queue/scheduler
info
Я бы не стал добавлять эту строку в ваш fstab, папка var / tmp предназначена для защиты от перезагрузки, и это может вызвать у вас проблемы.
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
Когда я настраиваю новую систему, я оставляю все папки tmp закомментированными таким образом, если что-то случится Я могу проверить журналы и прочее. Затем, когда у меня будут основные настройки системы, я не буду комментировать их, но я никогда не добавляю приведенную выше строку, вот что я использую:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
tmpfs /var/log/apt tmpfs defaults,noatime 0 0
И если у меня возникают какие-либо проблемы с моей системой, я комментирую их, чтобы иметь возможность проверьте все, даже после перезагрузки или принудительной перезагрузки после блокировки.
Также вам не нужно nodiratime, опция noatime позаботится обо всем сама по себе.
Что касается TRIM, если ваш аппаратный / программный интерфейс поддерживает его, это должен, я не использую discard в fstab. Я создаю ежедневный cron, потому что мой компьютер всегда включен, следующим образом:
gksu gedit /etc/cron.daily/trim
Затем добавьте это в файл и сохраните (если у вас нет отдельного / домашнего раздела на ssd, или у вас есть другие части, которые находятся на ssd, вам следует поймите, как это изменить:
#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG
Затем сделайте файл исполняемым с помощью:
sudo chmod +x /etc/cron.daily/trim
Я также редактирую свой rc.local следующим образом:
gksu gedit /etc/rc.local
Добавьте это выше "exit 0" и ниже последнего #:
# Modification for SSD
# you may want to add more folders to be checked/created to this list
for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba speech-dispatcher unattended-upgrades; do
if [ ! -e /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
Вы можете скопировать и вставить отсюда, чтобы не было ошибок, для непрофессионала это выглядит неисправным, но это не так.
Я также читал, что оставление 10% вашего ssd-диска неформатированным может помочь продлить срок службы, что остается Я не так много читал об этом, поэтому не могу поручиться, есть ли в этом смысл.
Это лучшее универсальное руководство, он не бегал по Google в течение дня, а затем придумал руководство, вы должны проверить его ЗДЕСЬ
Ясно, что / var / tmp
не должно быть в tmpfs, поскольку по определению его содержимое должно сохраняться за пределами reboots:
4) включите автоматический TRIM
Если ваш SSD поддерживает его, то вы также должны включить автоматический TRIM (как описано здесь)
Есть несколько баллов:
Выравнивание:
Часто указывается на правильное выравнивание раздела. Это должно быть равно размеру блока SSD. Будьте осторожны и выровняйте разделы по границам MiB. Обратите внимание, что вы не можете сделать это с помощью инструмента разделов установщика Ubuntu (который использует MB, а не MiB), но вы можете загрузить live CD, использовать Gparted (который использует MiB), а затем нажать Install, чтобы использовать разделы, которые вы создали.
Правильный планировщик:
Важным моментом является планировщик , который должен быть noop
. Вы можете настроить этот планировщик через параметр ядра elevator = noop
или через запись echo noop> / sys / block / sda / queue / scheduler
в вашем rc.local.
Mountflags:
Я бы рекомендовал noatime
и отбросить
Tmpfs
Размещение tmp на ramdisk может увеличить время жизни ssd.
Чтобы использовать это, введите в файл fstab следующую строку: none / tmp tmpfs defaults 0 0
Как правило, если вы хотите глубже погрузиться в эту тему, я бы рекомендовал эту отличную вики-статью.
Misy info tsara Ahoana ny fikajiana sy fanatsarana ny SSD ho an'ny Ubuntu, Linux Mint avy amin'ny http://namhuy.net/1563/how-to-tweak-and -optimize-ssd-for-ubuntu-linux-mint.html mety ho liana amin'ny
Ampiasao ny preload
Mba hametrahana preload amin'ny Ubuntu, Linux Mint na fizarana miorina amin'ny debian
# apt-get update && apt-get install preload
Vonoy ny fifanakalozanao
Mba hanovana ny fametahana swappiness:
$ su -
# nano /etc/sysctl.conf
Ary ampio ao anaty sysctl.conf ity tsipika ity.
vm.swappiness = 10
Требуется ИБП. В файле /etc/sysctl.conf
vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10
найдите демон файла конфигурации, обычно /etc/syslog.conf
или /etc/rsyslog.d/
и все пути в форме / var / log /
изменяются путем записи знака минус («-») перед путями.
mail.err
/var/log/mail.err
После
mail.err - / var / log / mail.err
используйте FS btrfs
и используйте параметр -o ssd
TRIM позволяет операционной системе сообщить SSD, какие блоки данных больше не используются и могут быть стерты изнутри. Обрезка позволяет SSD обрабатывать накладные расходы по сбору мусора, что в противном случае значительно замедлит будущие операции записи на задействованные блоки.1
В Ubuntu 14.04 в пакет util-linux добавлена новая функция, которая регулярно автоматически обрезки SSD, но только у SSD Intel и Samsung TRIM включен по умолчанию, потому что некоторые дешевые SSD могут даже обломаться при работе с TRIM. 2 Содержимое /etc/cron.weekly/fstrim
в Ubuntu 14.04:
#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e
# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g. https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all
1https://en.wikipedia.org/wiki/Trim_%28computing%29
2Как включена функция Trim?
Хорошо, короче говоря:
Отформатируйте как ext4
во время установки и создайте небольшой своп ~ 1 ГБ. После установки отредактируйте fstab с помощью sudo gedit / etc / fstab
и добавьте следующую строку
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
. Это создаст ramdrive для ваших временных файлов, что снизит старение. Также добавьте noatime, nodiratime, discard
в строку ext4 после значений по умолчанию. Это также снизит износ и активирует функцию TRIM. Сохраните и перезагрузите компьютер.
Обычно я бы не стал беспокоиться - опасения по поводу жизни SSD переполнены. Вы можете прочитать эту подробную статью о том, почему Вам действительно не стоит беспокоиться. В коротком замыкании внутри современных SSD управляет выравниванием износа, и они знают, как это сделать гораздо лучше вас.
В статье приведен расчет срока службы SSD, который получает записи с непрерывной скоростью 80М/с. Срок службы составляет 51 год. Это основано на технологии 2007 года - теперь срок службы SSD будет больше. И вы почти наверняка не пишете на свой SSD со скоростью 80 Мбит/с 24 часа в сутки.
Однако снижение производительности со временем может стать проблемой, и TRIM является ее решением. Существует две опции
Вы должны включить автоматический TRIM самостоятельно . (В основном, при использовании ext4 к вариантам крепления добавляется опция disard
). Я нашел запись в блоге о том, что опция удаления замедляет работу системы при удалении файлов .
Иногда это можно сделать вручную (или в задании cron) с помощью fstrim. Если у вас только один раздел, то все, что вам нужно сделать, это:
sudo fstrim /
Обратите внимание, что fstrim доступен только в версии 11.10 и новее. Для старых систем вам понадобится скрипт wiper.sh
. Я нашел скрипт в /usr/share/doc/hdparm/contrib/wiper.sh.gz
на моей системе.
Если вам интересно, то проблема, которую TRIM решает, как описано в Википедии, заключается в следующем:
Твердотельные накопители хранят данные во флэш-памяти, которые сгруппированы в ячейки страниц, при этом страницы (обычно по 4 кБ каждая) сгруппированы в блоки (обычно 128 страниц в блоке, всего 512 кБ). Ячейки NAND-флеш-памяти могут быть напрямую записаны только тогда, когда они пустые. Если они считаются содержащими данные, то прежде чем надежно выполнить операцию записи, их содержимое необходимо стереть. На SSD-накопителях операция записи может выполняться на уровне страниц, но из-за аппаратных ограничений команды стирания всегда затрагивают целые блоки. В результате запись данных на SSD носитель происходит очень быстро, пока можно использовать пустые страницы, но значительно замедляется после того, как необходимо перезаписать ранее записанные страницы . Так как перед повторной записью необходимо стереть ячейки страницы, но можно стереть только целые блоки, то перезапись инициирует цикл чтения-перезаписи-изменения-перезаписи: содержимое всего блока должно быть сохранено в кэше, прежде чем его можно будет эффективно стереть на флэш-носителе, затем перезаписанная страница будет изменена в кэше таким образом, что кэшированный блок будет обновлен, и только после этого весь блок (с обновленной страницей) будет записан на флэш-носителе . Это явление известно как усиление записи.
Я предлагаю размещать на SSD только те вещи, которые читаются во время загрузки, любые приложения, которые требуют много времени для загрузки. Данные, журналы и другие некритические вещи, которые я бы разместил на обычном жестком диске .Кроме того, вы можете настроить свой ubuntu так, чтобы он загружал только большие initramfs с SSD во время загрузки и не записывал обратно изменения на ssd. Это имеет преимущество,изменения в этом разделе не являются постоянными, что похоже на защиту вашей загрузочной системы. Поэтому вам, конечно же, потребуется гораздо больше ОЗУ.
Я бы, например, разместить перегородки /, / etc, / usr, / boot, / lib 32/64 на SSD, в то время как sth вроде
/ opt, / bin, / sbin, / root, / home и даже swap (увеличение RAM !!!) на HDD
Википедия говорит:
Ядро Linux поддерживает функцию TRIM, начиная с версии 2.6.33. Файловая система ext4 поддерживается при монтировании с параметром discard. Самые последние дисковые утилиты (и, следовательно, установочное программное обеспечение, которое их использует) также применяют правильное выравнивание разделов.
Для резервного копирования существует много способов, самый простой из которых - (r) синхронизация плюс задание cron.
Как настроить и оптимизировать SSD для Ubuntu, Linux Mint
Включите TRIM
TRIM (команда Trim сообщает операционной системе, какие блоки SSD не используются и могут быть очищены)
Сначала создайте резервную копию fstab на случай, если что-то случится.
# cp /etc/fstab ~/fstab.bk
Редактирование fstab-файла
# nano /etc/fstab
Добавление дискеты на ssd диски или разделы, после того, как ext4
UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,errors=remount-ro 0 1
Adding noatime and nodiratime
noatime и nodiratime являются опциями монтирования в linux для файловой системы linux. noatime отключает обновление файловой системы, а nodiratime отключает обновление файловой системы каталогов. Добавление noatime и nodiratime значительно уменьшит нагрузку на ssd, что означает прирост производительности.
Редактирование fstab файла
# nano /etc/fstab
Добавление noatime,nodiratime на ssd диски или разделы, после ext4
UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1