Оптимізація (злегка) ядра

[Ядро DOC]

Про Однією з переваг є те, що Ubuntu вона перетворюється на щось швидко і досить просто виконати настільний комп'ютер з усіма стандартними додатками. Але щоб отримати це зробили деякі "узагальнення", які роблять конфігурації прийнята не є кращим для нашої команди і може підвищити продуктивність за рахунок оптимізації серед іншого, (ядра).

За замовчуванням при встановленні Ubuntu, тут, у версії 7.10 встановити в режимі ядра називається "загальний". Це ядро може працювати по крайней мере в теорії, на будь-який x86-сумісні PC, тому він може працювати в 8086 МГц 4'77 командного рядка, версія, і навіть дуже простий менеджер вікон. Це відправна точка для сказати "універсальної сумісності" передбачає покарання продуктивність вашого ПК, особливо якщо ви відчуваєте, старий. Давайте подивимося, як поліпшити цю ситуацію.

Проста альтернатива, якщо у нас є AMD або Intel Core 2 останні одного покоління, встановлення 64-розрядної версії. Якщо ви не один з цих процесорів, або якщо у вас встановлений "нормальної" ОС, у нас є ядро "злегка" суфікс i386 оптимізований, і ми отримуємо, встановивши метапакунок Linux-образ-386:

sudo apt-get install linux-image-386

Перезавантаження Ubuntu і ви помітите різницю відразу.

Добре. Але ми можемо піти далеко за рамки створення основних адаптовані до номер, який відповідає нашому процесора. Це більш складна, але не занадто:

Керівні принципи для компіляції ядра Є багато, а це як-к , так що я не буду детально зупинятися на ньому, це лише коротке резюме:

  • Встановити побудувати esential-інструменти, libncurses5, libncurses5-Dev, ядро-пакет
  • Встановіть останню версію ядра струм: мета-пакет Linux-джерело
  • К / USRC / SRC і розпакуйте джерела Linux-джерела 2.6.22.tar.bz2 знайшли там.
  • Створення посилання на джерело каталозі: sudo ln -s /usr/src/linux-source-2.6.22 /usr/src/linux
  • Зміни в / USR / SRC / Linux
  • Ми запустили утиліту конфігурації, з налаштуваннями за замовчуванням у якості відправної точки: sudo make oldconfig menuconfig
Якщо запуск sudo make oldconfig menuconfig , він починає просити, вам не доведеться за замовчуванням доступні. Копії:

/usr/src/linux$ sudo cp /boot/config-2.6.22-9-i386 .config

При цьому, якщо ми хочемо зупинити, і визначити ті варіанти, що ми повинні включити або виключити

Спочатку ми повинні з'ясувати, який процесор, ви, ймовірно, вже знаєте, а якщо ні, в терміналі:

dmesg | grep CPU:

Він буде сказати, що ви можете мати кілька ліній, одна з них вказує на ЦП:

CPU: Intel Celeron (Coppermine) Steping 0a

[Menuconfig]

Ми повинні увійти в меню зображення тип процесора і функцій

  • Вибір процесора сім'ї вибрати варіант, який відповідає нашому процесора, в даному випадку Pentium-III/Celeron (Coppermine) / Pentium-III Xeon
  • У цьому ж меню безперешкодно Загальні x86 підтримки та математики емуляції. Ці параметри будуть тільки у разі використання 80 386 8086.8028 6 або еквівалент, що малоймовірно.
  • Якщо у нас менше 4 гігабайт пам'яті в нашій системі, ми можемо відкласти Підтримка пам'яті високого варіант.
  • Якщо у вас двоядерний процесор, як Core 2 Duo, ви можете включити підтримку для використання одночасно декількох повороту симетричні підтримку обробки (я не перевіряв це)
  • Таймер зміни частоти від 250 до 300 МГц (можливо, з Core 2 підходить, але зробити це до 1000)
  • Якщо у вас є Toshiba і Dell можуть відключити ноутбук Toshiba і Dell ноутбук Підтримка (менше речей, щоб завантажити в пам'ять при запуску комп'ютера і перевірити)

Ми можемо піти далі і видалення підтримуваних пристроїв, що нам необхідно в нашій конкретної системи. Таким чином, отримуємо ядро менше і більш ефективним, оскільки він не повинен перевірити та / або завантажувати код ніколи не буде мати занадто багато пристроїв. Але це більш тонкий, і ми ризикуємо, що після настільки довгого і слід було чекати, не працює з новим ядром або пристрої зв'язані.

[Ядро menuconfig відео]

Наприклад, в картині, я вимкнув графічні драйвери, що маю, і ніколи не буде, тому що це ноутбук, і залишив водія тризубець. Це, перш за все, для усунення цих компонентів, зазначені [*], що це те, що роблять "жиру" в ядро.

Ну, ми зберегли зміни, і починає генерувати ядра і заново:

Ми попереднього очищення:

sudo make-kpkg clean і почала компіляції:

sudo make-kpkg --initrd --append-to-version=-p3 kernel_image kernel_headers

Замінює р3 (сценарій обов'язкового попереднього) за все, що відрізняє ваше нове ядро, що існує на вашому комп'ютері. Цей процес, особливо якщо комп'ютер недостатня, це може зайняти від 4 до 6 годин. Отже, коли ви запускаєте команду краще перед сном. (Якщо у вас 3GHz Core 2 Duo буде значно менше, звичайно).

А наступного ранку ....

Ви знайдете 2 DEB пакети в каталозі, над тобою, / USR / SRC /. Одна відповідає образ нового ядра, а інший для витоків, які необхідні, якщо ви компілювати що-небудь про нього. Встановити:

sudo dpkg -i linux-image-2.6.22.9-p3_2.6.22.9-p3-10.00.Custom_i386.deb

sudo dpkg -i linux-headers-2.6.22.9-p3_2.6.22.9-p3-10.00.Custom_i386.deb

Рекомендується, нарешті, видалити символічне посилання /usr/src/linux .

Ви можете перезавантажити, і це знову створені, буде нове ядро за умовчанням.

Хоча я не зробив будь-яких докладних орієнтирів, побачити різницю і ноутбук отримав деякі спритність. Хоча не очікуємо чудес, особливо в графіці і процесор так мізерні.

Діагностика і проблеми

Інші ядра встановлені, і, якщо загальний i386, як і раніше доступні. Якщо є проблеми просто натисніть клавішу Esc на відлік Grub для відображення меню, і ви можете вибрати деякі з них, починаючи нормально і безпечно. Це робить такої складної операції не пов'язані з практично ніякого ризику.

Деб пакунки, перелічені в Synaptic знову встановлено в якості Linux-образ-2.6.22.9-p3 у Linux-заголовків-2.6.22.9-p3, і ми можемо комфортно і видалити звідти у разі потреби.

Якщо ви хочете залишити знову в якості альтернативного основного просто редагувати /boot/grub/menu.lst і покласти варіант default 0 з серійним номером ядра, з яким ми хочемо запустити, або покласти у верхній частині списку.

Драйвер складений

Якщо у вас є драйвери, скомпільовані для вас, це перекомпілювати для роботи з новим ядром.