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