Оптимізація Ubuntu 11.04 під SSD
1. Почнемо з найпростішого , але , напевно , найважливішого - монтуємо кореневу файлову систему (і всі інші файлові системи цього диска) з опцією noatime . Вона відповідає за запис у файлову систему даних про те , коли до файлу зверталися в останній раз. Отже при будь-якому відкритті файлу на читання або виконання у файлову систему заноситися позначка.
Опцію необхідно додати у файл /etc/fstab як у прикладі:
/dev/sda1 / ext4 noatime,errors=remount-ro 0 1
2 . Переносимо /tmp, /var/tmp і /var/log в пам'ять. Під час роботи Ubuntu 11.04, та й інші версії і дистрибутиви ОС Linux, регулярно створюють тимчасові файли в /tmp, рідше в /var/tmp. Від звернень до диска при роботі з тимчасовими файлами можна позбутися якщо перенести їх у пам'ять. Так само, якщо системні логи вам не зовсім потрібні, можете перенести в пам'ять /var/log. Варто враховувати що всі логи і тимчасові файли будуть видалятися при кожному перезавантаженні. З іншого боку це дозволить позбутися від чергової пачки звернень до диску . В той же /etc/fstab слід внести наступні рядки:
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
3 . Просимо систему не використовувати розділ підкачки. При роботі з системою, якщо їй не вистачає пам'яті, вона починає робити дампи пам'яті в розділ підкачки. Це теж призводить до великої кількості записів на SSD диск. Уникнути цього можна вказавши системі що розділ підкачки слід використовувати тільки в самому крайньому випадку. Для цього у файлі /etc/sysctl.conf наступний необхідно додати параметр :
vm.swappiness = 1
Зміна набуде чинності після наступного перезавантаження або після виконання команди:
# sysctl -p
4 . Остання рекомендація торкнеться планувальника який використовується ядром для роботи з диском. Оптимізованим під SSD є Noop планувальник. Переглянути який саме в даний момент використовується системою можна виконати наступну команду :
boffin@ubuntu:~$ cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
За умовчанням в Ubuntu 11.04 встановлений універсальний планувальник CFQ . Включити Noop можна при працюючій системі за допомогою команди:
echo noop > /sys/block/sda/queue/scheduler
Для того що б зміни збереглися після перезавантаження , необхідно підправити конфігураційний файл завантажувача ядра. Для цього в файл /etc/default/grub в опції GRUB_CMDLINE_LINUX_DEFAULT необхідно додати параметр elevator=noop. У моєму випадку вся строчка виглядає ось так :
GRUB_CMDLINE_LINUX_DEFAULT="quiet elevator=noop"
Після цього слід повідомити завантажувач про зміни , виконавши команду:
# update-grub
Все! Для набуття чинності змін з розділами жорсткого диска слід перезавантажити систему. Тепер ваш SSD диск прослужить значно довше. Більше того, ви напевно відчуєте приріст швидкості системи, так як вона стане менше писати на диск.