Відмінності між версіями «Оптимізація Ubuntu 11.04 під SSD»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Створена сторінка: 1. Почнемо з найпростішого , але , напевно , найважливішого - монтуємо кореневу файлову сис...)
 
 
(не показано одну проміжну версію цього учасника)
Рядок 1: Рядок 1:
1. Почнемо з найпростішого , але , напевно , найважливішого - монтуємо кореневу файлову систему (і всі інші файлові системи цього диска) з опцією noatime . Вона відповідає за запис у файлову систему даних про те , коли до файлу зверталися в останній раз. Отже при будь-якому відкритті файлу на читання або виконання у файлову систему заноситися позначка.
+
                                    [[Файл:080105_sandisc_ssd.jpg]]
 +
 
 +
 
 +
'''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

                                    080105 sandisc ssd.jpg


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 диск прослужить значно довше. Більше того, ви напевно відчуєте приріст швидкості системи, так як вона стане менше писати на диск.