Які дії слід вжити до / під час / після встановлення Ubuntu на твердотільному диску, щоб оптимізувати продуктивність та забезпечити максимальну довговічність накопичувача?
Які дії слід вжити до / під час / після встановлення Ubuntu на твердотільному диску, щоб оптимізувати продуктивність та забезпечити максимальну довговічність накопичувача?
Відповіді:
Я успішно використовував кілька різних методик, щоб поліпшити спосіб використання Ubuntu пристрою зберігання даних, будь то твердотільний або традиційний привід.
Для SSD-диска ви прагнете мінімізувати кількість записів накопичувача, оскільки читання не повинно створювати знос накопичувача.
1) Управління файлом своп
Якщо ви не перебуваєте у сплячому режимі свого комп’ютера та у вас є достатня кількість оперативної пам’яті для запуску всіх ваших програм, то теоретично вам не потрібен розділ swap.
Якщо у вас суміш з SSD і жорстких дисків, розмістіть свій swap розділ тільки на жорстких дисках.
2) Не пише для часових позначок читання (підходить для SSD і жорстких дисків)
Монтування розділів з опціонами noatime і nodiratime зупиняться мітку часу пише , коли ви читаєте файли і папки. Записи часових міток зазвичай не потрібні, якщо ви не використовуєте локальний клієнт поштового сервера, такий як mutt. Причина цього, як правило, погана ідея, полягає в тому, що кожне прочитане створює запис при оновленні часових позначок. Це зменшує термін служби SSD.
Відредагуйте файл конфігурації / etc / fstab (обережно - зробіть резервну копію, щоб переконатися, що порушення вашої конфігурації fstab може завадити роботі системи):
cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Змініть установчі параметри для ваших розділів, додавши текст noatime і nodiratime до ліній визначають ваш кореневої (/) і інші розділи , якщо вони у вас є (/ домашній) - Примітка: якщо у вас є домашній розділ /, почати з цього просто змінюється цей розділ, якщо ви стурбовані тим, що щось зламаєте
# / 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 пересичені. Ви можете прочитати цю детальну статтю про те, чому ви насправді не повинні турбуватися . Коротше кажучи, схема всередині сучасних SSD-дисків управляє рівнем зносу для вас, і вони знають, як це зробити набагато краще, ніж ви.
У статті наведено розрахунок тривалості SSD, який приймає записи з постійною швидкістю 80 М / с. Життя - 51 рік . Це засновано на технології 2007 року - тепер тривалість SSD буде довшою. І ви майже напевно не пишете на свій SSD зі швидкістю 80 М / с 24 години на добу.
Однак погіршення продуктивності з часом може бути проблемою, і TRIM - це рішення. Є два варіанти
Ви повинні ввімкнути автоматичний TRIM самостійно . (В основному ви додаєте цю discard
опцію до параметрів монтування, за умови, що ви використовуєте ext4.) Я знайшов повідомлення в блозі, в якому повідомляється, що опція відкидання сповільнює вашу систему при видаленні файлів .
Ви можете час від часу робити це вручну (або в роботі з крон), використовуючи fstrim . Якщо у вас просто один розділ, то все, що вам потрібно зробити, це:
sudo fstrim /
Зауважте, що fstrim доступний лише в 11.10 та новіших версіях. Для старих систем вам знадобиться wiper.sh
сценарій. Я знайшов сценарій у /usr/share/doc/hdparm/contrib/wiper.sh.gz
своїй системі.
Якщо вам цікаво, проблема, яку вирішує TRIM, як описано у Вікіпедії , полягає в наступному :
SSD-накопичувачі зберігають дані у клітинках флеш-пам’яті, які згруповані у сторінки, при цьому сторінки (як правило, 4 кБ у кожній) згруповані в блоки (як правило, 128 сторінок на блок, що становить 512 кБ). Осередки флеш-пам’яті NAND можна записувати безпосередньо лише тоді, коли вони порожні. Якщо вони вважають, що вони містять дані, вміст спочатку потрібно стерти, перш ніж операція запису може бути надійно виконана. На SSD-дисках операцію запису можна виконувати на рівні сторінки, але через обмеження обладнання, команди стирання завжди впливають на цілі блоки. Як результат, запис даних на SSD-носії відбувається дуже швидко, доки можна використовувати порожні сторінки, але значно сповільнюється, коли попередньо написані сторінки потрібно перезаписати. Оскільки для її повторного запису потрібне стирання комірок на сторінці, але можна видалити лише цілі блоки, перезапис ініціює цикл читання-стирання-зміна-запис: вміст всього блоку повинен зберігатися в кеш-пам'яті, перш ніж її ефективно стерти на флеш-носії, потім перезаписана сторінка буде змінена в кеш-пам'яті, щоб кешований блок був оновлений, і лише тоді весь блок (з оновленою сторінкою) записується на флеш-носій . Це явище відоме як посилення запису.
Є кілька моментів:
Вирівнювання:
На що часто вказують правильне вирівнювання перегородки. Це повинно дорівнювати розміру блоку SSD. Грайте в безпеку і зробіть свої розділи вирівняними до меж MiB. Зауважте, що ви не можете цього зробити за допомогою інструмента розділів установки Ubuntu (який використовує MB не MiB), але ви можете завантажувати живий компакт-диск, використовувати Gparted (який використовує MiB), а потім натисніть кнопку Встановити, щоб використовувати розділи, які ви налаштували.
Правильний планувальник:
Важливим моментом є планувальник, який повинен бути noop
. Ви можете встановити цей планувальник через kernelparameter elevator=noop
або через запис echo noop > /sys/block/sda/queue/scheduler
у вас rc.local.
Монтаж:
Я б рекомендував noatime
іdiscard
Tmpfs
Якщо помістити tmp на рамковий диск, це може збільшити час життя ssd. Щоб скористатися цим, поставте наступний рядок у fstab:none /tmp tmpfs defaults 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
Тут є кілька важливих речей:
swap
розділів. На сьогоднішній день вона потрібна лише для сплячого режиму, оскільки сучасні машини мають досить велику кількість оперативної пам’яті.noatime
та discard
варіанти. Інформація тут .планувальник
Розглянемо можливість переходу з планувальника за замовчуванням, який у більшості дистрибутивів Linux є cfq (цілком чесна черга), на планіровщик або терміни для SSD. Наприклад, використовуючи планувальник noop, просто обробляє запити в порядку їх отримання, не враховуючи, де дані фізично перебувають на диску. Вважається, що цей варіант є вигідним для SSD, оскільки час пошуку однаковий для всіх секторів на SSD.
Додати в /etc/rc.local :
# SSD performance tuning
echo noop > /sys/block/sda/queue/scheduler
інформація
/tmp
оперативною пам’яттю дуже легко потрапити в ситуацію із пам'яттю , оскільки багато програм використовують /tmp
як місце для зберігання (наприклад, Brasero для зберігання зображень DVD).
tmpfs
за замовчуванням - 10% оперативної пам’яті. Розмір можна відрегулювати за допомогою size
опції.
Я б не додав цей рядок у папку 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
І якщо у мене виникають проблеми з моєю системою, я коментую їх, щоб мати можливість перевірити все навіть після перезавантаження або примусової перезавантаження після блокування.
Крім того, вам не потрібно нодиратім, опція у режимі часу переймається обома.
Що стосується TRIM, якщо ваш hw / sw підтримує його, це обов'язково, я не використовую скидання у fstab. Я створюю щоденний крон, тому що мій ПК завжди увімкнений, роблячи це:
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
Додайте це вище "вихід 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 протягом дня, а потім придумав посібник, ви повинні перевірити його ТУТ
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
1 https://en.wikipedia.org/wiki/Trim_%28computing%29
2 Як увімкнено обрізку?
Зрозуміло, що /var/tmp
не повинно бути в tmpfs, оскільки за визначенням його вміст потрібно зберігати поза перезавантаженнями:
Гаразд "довга історія":
Форматуйте як ext4
під час встановлення, і створіть невеликий своп ~ 1 Гб. Після встановлення відредагуйте fstab за допомогою sudo gedit /etc/fstab
та додайте наступний рядок
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
Це створить рамбовий диск для тимчасових файлів, що знизить старіння. Також додайте noatime,nodiratime,discard
до рядка ext4 після встановлення за замовчуванням. Це також знизить знос та включить функцію TRIM. Збережіть і перезавантажте.
Є корисна інформація Як налаштувати та оптимізувати SSD для Ubuntu, Linux Mint від http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html ви можете цікавитися
Використовуйте попереднє завантаження
Щоб встановити попереднє завантаження на дистрибутивах на базі Ubuntu, Linux Mint або debian
# apt-get update && apt-get install preload
Вимкніть своп
Щоб змінити налаштування заміщення:
$ su -
# nano /etc/sysctl.conf
І додайте цей рядок у файл sysctl.conf.
vm.swappiness = 10
Джерело живлення потрібен. У /etc/sysctl.conf
файлі
vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10
Знайдіть файл конфігурації демона, як правило , /etc/syslog.conf
або /etc/rsyslog.d/
і всі шляхи виду /var/log/
зміни, написавши знак мінус ( «-») перед ways.Before mail.err
/var/log/mail.err
Після
mail.err -/var/log/mail.err
використовувати FS btrfs
і використовувати -o ssd
опцію
Як налаштувати та оптимізувати 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 відключає оновлення atime у файловій системі, а nodiratime відключає оновлення atime у системі каталогів. Додавання часу та нодіратіму значно зменшить завантаження ssd, означає підвищення продуктивності.
Редагувати файл fstab
# nano /etc/fstab
Додайте noatime, nodiratime до своїх накопичувачів або розділів ssd після ext4
UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
Я пропоную розміщувати на SSD лише ті речі, які читаються під час завантаження, будь-які програми, які потребують багато часу для завантаження. Дані та журнали та інші некритичні речі, які я міг би знайти на звичайному жорсткому диску. Також ви можете налаштувати свій ubuntu лише на завантаження великий initramfs з SSD під час завантаження і не записувати зміни в ssd. Це має перевагу, що зміни цього розділу не є стійкими, що є схожим на захист вашої завантажувальної системи. Для цього вам, звичайно, знадобиться набагато більше оперативної пам'яті.
Я б, наприклад, розмістив на SSD розділи /, / і т.д., / usr, / boot, / lib 32/64,
/ opt, / bin, / sbin, / root, / home та навіть поміняти (збільшити оперативну пам’ять !!!) на жорсткому диску
У Вікіпедії сказано:
Ядро Linux підтримує функцію TRIM, починаючи з версії 2.6.33. Файлова система ext4 підтримується при монтажі за допомогою параметра "відкинути". Найновіші дискові утиліти (а отже, інсталяційне програмне забезпечення, яке їх використовує) також застосовують належне вирівнювання розділів.
Для резервного копіювання існує багато способів, найпростішим з яких є (r) синхронізація плюс робота cron.
/root
, /home
і swap, слід ставити на SSD для швидкості, оскільки це здебільшого лише для читання. Для переваги швидкості також покладіть /var
на SSD.
/
Розділ для Kubuntu Oneiric займає 4,5 Гб на мій SSD. 20 ГБ достатньо для /
мінусу /home
. Зусилля щодо налаштування макета файлової системи, розповсюдження її на декілька розділів не варто.
tmpfs
коментовані рядки, тож чому додавання цих рядків має значення? Чи потрібно нам додавати це без коментарів?