Як покращити програмним способом графіку в убунту. Прискорення роботи Ubuntu із дисковою підсистемою. Примітка щодо автозавантаження програм

18.05.2020 Новини

Якщо зараз порівняти нові версії десктоп дистрибутива Ubuntu наприклад з версією 14.04, ви мали б побачити, що дистрибутиви Linuxстали більш «ненажерливими», та нові версії отримали проблему у вигляді Unity яка жере оперативну пам'ять як слон і якщо у вас оперативної пам'яті менше 2гб, буде не солодко. У сьогоднішньому матеріалі ми обговоримо кілька способів більш оптимального рішеннявиниклої проблеми, які б дозволили зменшити апетити у використанні оперативної пам'яті. Перший, звичайно ж - це вибір легкого дистрибутива (Xubuntu або Lubuntu та інших). Другий спосіб, в даному випадку ми намагатимемося зменшити споживання пам'яті без обмеження у функціональності роботи дистрибутива, для дослідів ми вибрали Ubuntu 16.04 LTS.

Вступ

Якщо ви тільки встановили систему на комп'ютер, який має два гігабайти ОЗУ, після першого запуску система буде їсти не менше 1 Гб пам'яті. Начебто і не критично, але дуже багато, якщо взяти хоча б порівняння більш маленький дистрибутив і порівняти споживання пам'яті. А якщо і запустити браузер наприклад з 5-6 вкладками, то ваші 2 ГБ швидко витратиться і ви побачите перші косяки у продуктивності інші зависання браузера ітд.

Розглянемо, що нам потрібно в функціональності, а що ні.

  • Насамперед список демонів, які завантажуються за замовчуванням. Розробники Ubuntu спробували зробити мінімум, але в нашій ситуації варто звернути увагу на те, що в залежності від ступеня використання дистрибутива, багато функціоналу може бути зайвим, що в результаті може бути відключено і не буде їсти оперативну пам'ять.
  • Також варто звернути увагу на додатки, які ви не використовуєте. Різне ПЗ використовує плагіни, які реалізуються здебільшого у вигляді завантажуваних бібліотек. У цій ситуації не зайвою буде тонка настройката відключення непотрібного. Варто згадати і про графічну підсистему компоненти якої не всім потрібні відключивши які можна звільнити оперативної пам'яті.

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

Відключаємо зайві служби/сервіси

У Ubuntu 16.04 використовується systemd, щоб переглянути програмне забезпечення, яке запускається під час початкового завантаження, ми можемо використовувати наступну команду:

Sudo systemctl list-units --type service

В результаті ми отримаємо список як запущених (використовуваних), так і сервісів, які вже завершені. Давайте розглянемо детальніше цей список і подумаємо, що нам потрібно, а чого ми можемо позбутися.

Список сервісів, що завантажуються systemd

AppArmor, призначений для захисту системи, але насправді якщо говорити про домашні системи, буде достатньо своєчасно оновлювати програми. Якщо говорити про ризики зараження з боку ПЗ, то він мінімальний, потрібно дуже постаратися потрапити на шкідливу сторінку, начинену експлоїтами, створеними під конкретну версію дистрибутива, так само варто згадати про те, що за промовчанням AppArmor для Firefox неактивний. Тому, якщо у вас напад паніки як у параноїка, ви можете не відключати цю службу, але якщо ви мислите тверезо, можеш сміливо відключати, для чого скористайся наступною командою:

Sudo systemctl disable apparmor.service

Apport - це служба, яка призначена для надсилання звітів про помилки в Canonical. Так, начебто і корисний інструмент, але уявіть ситуацію, у вас мобільний 3G інтернет і це вікно про помилки постійно маячить перед очима, в даній ситуації є сенс відключити цю службу, Іноді це вікно дуже часто вилазить коли його не чекаєш, я особисто відключив відразу ж після установки так як іноді воно просто виводить своїми появами коли його не чекаєш. Чи відключати вам, ви повинні самі вирішити для себе. Для відключення набираємо команду:

Sudo systemctl disable apport.service

Avahi - це демон, який призначений для виявлення служб / комп'ютерів в домені.local. Начебто і зручна штука, але на практиці, якщо у вас є пара комп'ютерів у локальної мережі, сенсу тримати цей демон активним немає, можете сміливо відключити:

Sudo systemctl disable avahi-daemon.service

CGManager призначений для управління cgroup дозволяючи непривілейованим користувачам отримувати доступ до cgroup і запобігаючи виходу з поточного cgroup у батьківський виняток і привілейовані програми. Якщо тверезо мислити, він може стати в нагоді лише при створенні вкладених контейнерів LXC, якщо ви їх не використовуєте і не користуєтеся пісочницею, в якій все це може стати в нагоді для запуску програм, сміливо відключайте:

Sudo systemctl disable cgmanager.service

Colord використовується для керування кольоровими профілями, що дозволяє відображати ідентичні кольори як на екрані комп'ютера так і на принтері. Якщо вам це не потрібно і ви не плануєте керувати кольорами, у вас немає монохромного принтера або зовсім немає принтера, відключайте не роздумуючи:

Sudo systemctl disable colord.service

ModemManager - це інтерфейс, що дозволяє реалізувати підключення до мережі інтернет використовуючи модеми, канали зв'язку (2G/3G/4G/CDMA), способи з'єднання (RS232, USB, Bluetooth) та методів керування (AT, QCDM, QMI, MBIM). Якщо у вас кабельний інтернет і ви не плануєте використовувати модем, відключайте:

Sudo systemctl disable ModemManager.service

Speech Dispatcher - це уніфікований API, який має призначення для зміни порядку виклику синтезатора, також дозволяє запобігти накладенню звуку при використанні кількох програм і відтворенні в них звуку одночасно. Якщо ви не плануєте використати синтезатори мови, відключайте:

Sudo systemctl disable speech-dispatcher.service

Whoopsie - ця служба має те ж коріння що і Apport, якщо ви її відключили, так само варто і вчинити з Whoopsie. Перш за все відкрийте конфіг /etc/default/whoopsie, тут нам потрібно змінити значення в параметрі report_crashes заміни true на false, зберігаємо і після відключаємо службу:

Sudo systemctl disable whoopsie.service

Відключення компонентів програм та графічної підсистеми

Якщо відключити графічну підсистему, ваша Ubuntu буде використовувати на 40%. Перше, про що варто згадати і що може істотно полегшити роботу в Ubuntu, це відключення онлайн-пошуку, який здебільшого нікому не потрібен зовсім. Щоб вимкнути, ви можете перейти в «Параметри системи -> Захист і приватність -> Пошук» та переключити «Відображати результати пошуку в інтернеті». Або скористатися консольним способом і виконати в терміналі наступну команду:

Gsettings set com.canonical.Unity.Lenses remote-content-search none

Варто згадати і про композитного менеджера Compiz, який має апетит як у слона і їсть вашу пам'ять сильніше, ніж всі інші процеси. Щоб стримати його апетити, вам потрібно встановити CompizConfig Settings Manager (після встановлення запустити):

Sudo apt-get install compizconfig-settings-manager ccsm

У вікні буде список плагінів. Подивимося, що і за яких умов можна вимкнути.

  • "Команди", якщо ви для комбінацій клавіш не задаєте жодних команд, можете сміливо відключати; в Unity він не використовується і жодних побічних наслідків не викличе, якщо відключити.
  • Enhanced Zoom Desktop – це подоба «Екранної лупи». Якщо вам не потрібне подібне програмне забезпечення, відключайте.
  • Desktop Wall – це всім відомий куб Compiz у 2D. Якщо ви не плануєте використовувати куб, вимкніть.
  • Viewport Switcher - це плагін, призначений для перемикання робочих столів. Він також створює навантаження і якщо вам він не потрібен, відключайте.
  • У групі «Ефекти» можна вимкнути плагін: Animations та «Прояв/зникнення вікон». Я в даному розділізовсім все відключив і працюю без анімацій і без зайвої краси, тому що в цьому немає необхідності.
  • Session Management – ​​призначений для збереження/відновлення положень та розміру вікон у сесії у проміжках між входом/виходом користувача). Якщо вам це не потрібно, відключайте, як і я вчинив.
  • При відключенні зайвих плагінів для сміття найкраще перейти у вкладку «Все» і відключати непотрібно лише гортаючи вгору або вниз де все буде під рукою.

Відключаємо Compiz плагіни через ccsm

Візьмемо, наприклад, програму Network Manager. У списку плагінів цього додаткує ofono, якщо ви не використовуєте мобільні з'єднання не користуєтеся модемами і у вас тільки кабельний інтернет, можете сміливо відключати якщо ви не плануєте користуватися модемами. Щоб вимкнути, у терміналі виконайте команду sudo gedit /etc/NetworkManager/NetworkManager.conf у рядку Plugin видаліть ,ofono та збережіть зміни.

Розглянемо уважніше плагіни Network Manager

При запуску робочого столу ubuntu, запускається багато плагінів, про які користувач навіть і не здогадується або не знає для чого вони потрібні, як він міг би про них дізнатися, якщо вони в графічному інтерфейсі ніде не відображаються. Так, деякі з них потрібні, але не всі і нижче ми обговоримо ті, яких можна позбутися.

Для відключення потрібно зробити наступне, перейти в каталог /etc/xdg/autostart:

Cd /etc/xdg/autostart sudo sed --in-place "s/NoDisplay=true/NoDisplay=false/g" onboard-autostart.desktop

на прикладі вище я відключив екранну клавіатуру, ви ж підлаштовуйте як вам потрібно прописавши в кінці потрібний вам плагін. Якщо захочете знову увімкнути, виконайте команду виду:

Sudo sed --in-place "s/NoDisplay=false/NoDisplay=true/g" onboard-autostart.desktop

Подивимося, що можна вимкнути:

  • Якщо ви не користуєтеся GPG, то gnome-keyring-gpg можете відключати все одно системні утилітибезпосередньо звертатимуться до зв'язки ключів.
  • Indicator-bluetooth, якщо ви не використовуєте та не плануєте використання Bluetooth, вимикайте.
  • Indicator-messages призначений для відображення вхідних повідомлень у поштових клієнтах, якщо не користуєтеся поштовими клієнтами, можете відключати, якщо користуєтеся, відповідно не відключати.
  • Indicator-printers - відображає підключення принтери, якщо у вас немає принтера, вимкніть.
  • Onboard-autostart - призначений для запуску екранної клавіатури, якщо не використовуєте, відключайте, я відключив не роздумуючи, оскільки не користуюся їй і не планую.
  • Orca-autostart – це екранна лупа, те ж сміття як і клавіатура, якщо у вас зір хороший, відключайте.
  • Print-applet - плагін який відображає завдання друку, як я писав вище до indicator-printers, якщо немає принтера, відключайте.
  • Telepathy-indicator - плагін який відображає повідомлення від цього клієнта, якщо ви не користуєтеся ним, відключайте.
  • Update-notifier - плагін для повідомлень про оновлення. Якщо вам не ліньки самому запустити процес оновлення, можете відключати.
  • Zeitgeist-datahub - плагін, який має роль колектора, який запускає різні збирачі інформації за технологією Zeitgeist. Ця технологія реєструє активного користувача для відновлення хронології подій. Так, варто нагадати, що ця технологія дуже добре пов'язана з Unity, щоб її відключити, доведеться виконати додаткові маніпуляції.

В першу чергу потрібно закрити доступ запису до файлу БД для процесу zeitgeist-daemon, відкрийте термінал CTRL+ALT+T і виконаємо наступну команду:

Chmod -rw ~/.local/share/zeitgeist/activity.sqlite

Перевіримо, що цей процес туди писати не може:

Zeitgeist-daemon --replace

Якщо ви виконали все правильно, після виконання команди вище, він повинен посваритися, що немає доступу до файлу БД, після чого можна відключати плагін.

Використовуємо zRam для збільшення пам'яті

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

Для активації zRam вам потрібно встановити наступний пакет:

Sudo apt-get install zram-config

після перезавантаження. Після того, щоб перевірити, перегляньте список ваших розділів підкачки:

Sudo swapon -s

Якщо все добре пройшло, у вашому пристрої /dev/zram0 з'явиться своп. По дефолту створюється по одному кожен процесор.

Висновок

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

На додаток ще кілька порад, якщо ви хочете мати легку в роботі систему, встановіть інші легші оточення робочого столу не використовуючи Unity, кількість доступних оточень достатня для вибору, я сподіваюся ви подумаєте над цим і виберіть для себе більш оптимальне та легке.

Якщо у вас два гігабайти оперативної пам'яті, замість навантажувальних програм, наприклад взявши офісний пакет LibreOffice Writer, ви можете замінити на легший AbiWord, замість системного браузера який встановлено за промовчанням Firefox, виберіть легший, наприклад Midori.

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

Змінимо поведінку Ubuntu щодо використання ОЗП та підкачування (розділ swap). Є такий параметр vm.swappiness , який за замовчуванням має значення 60 і контролює відсоток вільної пам'яті, коли розпочнеться активне скидання сторінок у розділ swap. Іншими словами, при 100-60 = 40% зайнятої пам'яті Ubuntu вже почне використовувати розділ swap. При великій кількості ОЗУ в комп'ютері краще змінити параметр vm.swappiness до 10 і тим самим наказати Ubuntu не використовувати swap доки зайнята ОЗУ не досягне 100-10=90%. Встановимо значення 10 замість 60. У консолі введіть наступну команду:

Echo 10 > /proc/sys/vm/swappiness

Sysctl -w vm.swappiness=10

Щоб зберегти налаштування після перезавантаження, внесіть в кінець файлу /etc/sysctl.conf наступний рядок:

Vm.swappiness=10

Щоб відразу застосувати налаштування:

Sysctl -p

На додаток можна сказати ще про кілька параметрів.
У псевдофайлі vfs_cache_pressure зберігається значення - рівень пам'яті, що виділяється під кеш. Значення за замовчуванням: 100. Збільшення цього параметра змушує ядро ​​активніше вивантажувати сторінки пам'яті, що не використовуються, з кеша, тобто. кількість оперативної пам'яті під кеш буде зростати повільніше, що в свою чергу знизить ймовірність того, що буде задіяний розділ swap. При зменшенні цього параметра ядро, навпаки, довше триматиме сторінки пам'яті в кеші, в тому числі і в swap'е. Це має сенс при невеликій кількості ОЗУ, наприклад, якщо у нас 512 МБ пам'яті, то параметр vfs_cache_pressure можна виставити рівним 50. Це дозволить скоротити кількість дискових операцій у swap розділі, так що видалення сторінок, що не використовуються, буде рідше, а подальше зменшення цього параметра може призвести до нестачі пам'яті.
Якщо ви хочете прискорити роботу системи і у вас достатньо оперативної пам'яті (2 Гб і більше), то змініть значення системи, так: swappiness = 10 , vfs_cache_pressure = 1000 (за замовчуванням 100) , внесіть у файл /etc/sysctl.conf наступний рядок:

Vm.vfs_cache_pressure=1000

або на льоту:

Sysctl -w vm.vfs_cache_pressure=1000

Кешування в Linux

При записі даних на диск (будь-якою програмою) Linux кешує цю інформацію в області пам'яті, яка називається Page Cache (сторінковий кеш). Інформацію про цю область пам'яті можна переглянути за допомогою команд free, vmstat або top. Повну інформаціюпро цю область пам'яті можна переглянути у файлі /proc/meminfo . Нижче наведено приклад цього файлу на сервері з 4-ма GB RAM:

MemTotal: 3950112 kB
MemFree: 622560 kB
Buffers: 78048 kB
Cached: 2901484 kB
SwapCached: 0 kB
Active: 3108012 kB
Inactive: 55296 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3950112 kB
LowFree: 622560 kB
SwapTotal: 4198272 kB
SwapFree: 4198244 kB
Dirty: 416 kB
Writeback: 0 kB
Mapped: 999852 kB
Slab: 57104 kB
Committed_AS: 3340368 kB
PageTables: 6672 kB
VmallocTotal: 536870911 kB
VmallocUsed: 35300 kB
VmallocChunk: 536835611 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB

Розмір Page Cache показаний у параметрі "Cached", в даному прикладівін складає 2,9 GB. При записі сторінок у пам'ять розмір "Dirty" збільшується. На початку запису на диск збільшуватиметься параметр "Writeback", доки запис не закінчиться. Досить складно побачити параметр "Writeback" високим, оскільки його значення збільшується лише під час опитування, коли операції вводу/виводу (I/O) поставлені у чергу, але ще записані на диск.
Linux зазвичай записує дані із кешу на диск за допомогою процесу pdflush. Будь-якої миті в системі запущено від 2 до 8 потоків pdflush. У файлі /proc/sys/vm/nr_pdflush_threads можна переглянути скільки в Наразіактивних потоків. Щоразу всі існуючі потоки pdflush зайняті принаймні 1 секунду. Нові потоки намагаються записати дані у вільні черги пристроїв, таким чином, щоб на кожен активний пристрій був один потік, що скидає дані з кешу. Щоразу після секунди без будь-якої активності з боку pdflush забирається один потік. У Linux можна налаштувати мінімальне та максимальна кількість pdflush потоків.

Налаштування pdflush
Кожен потік pdflush контролюється кількома параметрами /proc/sys/vm:

  • /proc/sys/vm/dirty_writeback_centisecs (default 500): у сотих частках секунд. Цей параметр означає, як часто pdflush відновлює роботу для запису даних на диск. За замовчуванням відновлює роботу 2 потоки кожні 5 секунд.
    Можливо недокументована поведінка, яка припиняє спроби зменшення dirty_writeback_centisecs для агресивнішого кешування даних процесом pdflush. Наприклад, в ранніх версіяхядра 2.6 Linux у файлі mm/page-writeback.c код включав логіку, яка описувалася "якщо запис на диск триває довше, ніж параметр dirty_writeback_centisecs, тоді потрібно встановити інтервал в 1 секунду". Ця логіка описана лише у коді ядра, і його функціонування залежить від версії ядра Linux. Так як це не дуже добре, то ви будете захищені від зменшення цього параметра.
  • code>/proc/sys/vm/dirty_expire_centiseconds (default 3000): у сотих частках секунд. Цей параметр вказує, як довго дані можуть перебувати в кеші, після чого повинні бути записані на диск. Значення за промовчанням тривале: 30 секунд. Це означає, що при нормальній роботі до тих пір, поки в кеш не запишеться достатньо даних для виклику іншого методу pdflush, Linux не буде записувати дані на диск, що знаходяться в кеші менше 30 секунд.
  • /proc/sys/vm/dirty_background_ratio (default 10): Максимальний відсоток оперативної пам'яті, який може бути заповнений сторінковим кешем до запису даних на диск. Деякі версії ядра Linux можуть встановлювати цей параметр в 5%.
    У більшості документації цей параметр описується як відсоток від загальної оперативної пам'яті, але згідно вихідним кодамядра Linux це не так. Дивлячись на meminfo, параметр dirty_background_ratio розраховується від величини MemFree + Cached – Mapped. Тому для нашої демонстраційної системи 10% становить трохи менше ніж 250MB, але не 400MB.

Коли pdflush починає запис?
У конфігурації за замовчуванням дані, що записуються на диск, знаходяться в пам'яті доти:

Якщо на сервері операції записи відбуваються часто, то одного разу буде досягнуто параметр dirty_background_ratio і ви зможете побачити, що весь запис на диск йде тільки через цей параметр не чекаючи закінчення параметра dirty_expire_centiseconds .

Процес запису сторінок
Параметр /proc/sys/vm/dirty_ratio (default 40) - максимальний відсоток загальної оперативної пам'яті, який може бути виділений під сторінковий кеш, перш ніж pdflush писатиме дані на диск.

Примітка: Під час запису на диск блокуються всі процеси запису, а не тільки той, що заповнив буфер на запис. Це може спровокувати блокування одним процесом всіх операцій вводу/виводу в системі.

Рекомендації щодо оптимізації Linux для операцій, які потребують частого запису
Зазвичай при спробі збільшення продуктивності дискової підсистеми стикаються з проблемою, що Linux буферизує занадто багато інформації відразу. Це особливо помітно для операцій, які потребують синхронізації файлової системиза допомогою дзвінків fsync. Якщо під час такого виклику в кеші багато даних, система може "підвиснути" поки не закінчиться цей виклик.
Інша часта проблемавідбувається тому, що занадто багато потрібно записати до того, як розпочнеться запис на фізичний диск, операції введення/виводу відбуваються частіше, ніж за нормальної роботі.

  • dirty_background_ratio: Основний інструмент налаштування. Зазвичай зменшують цей параметр. Якщо ваша мета знизити кількість даних, що зберігається в кеші, так що дані будуть писатися на диск поступово, а не все відразу, то зменшення цього параметра є найбільш ефективним шляхом. Значення за умовчанням найбільш прийнятне для систем, що мають багато оперативної пам'яті та повільні диски.
  • dirty_ratio: Другий параметр для налаштування. При значному зниженні цього параметра програми, які мають писати на диск, блокуватимуться всі разом.
  • dirty_expire_centisecs: Спробуйте зменшити цей параметр, але не сильно. Він дозволяє зменшити час знаходження сторінок у кеші до запису на диск, але з іншого боку це значно знизить середню швидкістьзапису на диск, що особливо проявиться на системах із повільними дисками.

У результаті отримаємо
У файлі /etc/sysctl.conf вносимо:

Vm.dirty_background_ratio = 10 vm.dirty_ratio = 40

Після синхронізуємо дані кешу та диска, очистимо кеш та збережемо параметри:

Sync; echo 3 > /proc/sys/vm/drop_caches; sysctl -p

Щоб зменшити кількість фіналізацій запису на диск, необхідно підкоригувати:

Vm.dirty_writeback_centisecs = 15000

15 липня 2015

Список порад щодо оптимізації Ubuntu 14.04. Мета яких підвищити швидкість її роботи та зручність її використання.

Автозавантаження програм в Ubuntu 14.04

Вже давно, в Убунту, є графічний інтерфейс управління автозапуском програм. Це програма "Програми, що запускаються автоматично" ( gnome-session-properties). Знайти її можна у головному меню Dash. Але в цій програмі відображаються не всі програми, що автоматично запускаються. Частина їх прихована. Щоб це виправити потрібно, у терміналі виконати дві команди:

sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop

sed -i "s/NoDisplay=true/NoDisplay=false/g" ~/.config/autostart/*.desktop

Після цього, у програмі "Автоматично запускаються програми" будуть видні всі програми, що автоматично запускаються:

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

Примітка щодо автозавантаження програм

У Ubuntu використовується два типи автозавантаження:

  1. Автозавантаження разом із графічною оболонкою (Unity, GNOME тощо).
  2. Автозавантаження разом із ядром системи, в текстовому режимі.

Програма "Автоматично запущені програми" керує першим типом завантаження. Фізично таке завантаження виконується через.desktop файл програми (аналог ярликів Windows), який міститься в одну з двох папок:

  1. /etc/xdg/autostart
  2. ~/.config/autostart

З першої папки програму буде запущено для будь-якого користувача. З другої папки програма буде запущена тільки для того користувача, у домашній папці якого буде розміщено ярлик програми.

Можна в ці папки копіювати ярлики потрібних програмнавіть уручну. Ярлики всіх доступних програмрозміщені в папці /usr/share/applications(З цієї папки їх бере Dash). Після копіювання ярлика в ньому необхідно для якості " X-GNOME-Autostart-enabledвказати значення true.

Попереднє завантаження програм на старті Ubuntu

Існують спеціальні програми, які керують черговістю завантаження програм у процесі старту операційної системи. Вони впорядковують розміщення бінарних програмних файлів, що завантажуються, таким чином, щоб знизити їх фрагментацію в межах файлової системи. Зниження фрагментації прискорює стартове завантаження ОС.

У багатьох порадах з оптимізації Ubuntu згадують програму preload. Її установку можна виконати через термінал:

sudo apt-get install preload

sudo touch /var/lib/preload/preload.state

sudo chmod 644 /var/lib/preload/preload.state

/etc/init.d/preload restart

Однак прямо "з коробки" в Ubuntu встановлюється ще одна програма для цього завдання - ureadahead. Потрібно лише увімкнути її автозапуск.

Примітка

Використання таких програм має сенс лише в тому випадку, якщо на комп'ютері встановлений механічний (HDD) диск. Якщо диск електронний (SSD), тоді сенсу в цих програмах немає, оскільки SSD дискиФрагментація файлів дуже позначається на швидкості їх завантаження.

Зменшити розмір системних журналів Ubuntu

Ubuntu веде цілу купу журналів. Як системних, так і журналів окремих програм та служб.

Як правило, всі ці журнали зберігаються в папці /var/log. Якщо ця папка розміщена на розділі root (/), то в деяких випадках можливе таке збільшення розміру цієї папки, коли буде забито все вільне місцена розділі root, до неможливості запуску операційної системи. Це нетипова ситуація, але таке трапляється.

Тому краще налаштувати систему зберігання журналів таким чином, щоб знизити обсяг інформації, що зберігається.

Краще це зробити через налаштування спеціальної програми logrotate. Ця програма видаляє архівні копії журналів із зазначеною періодичністю. Установки програми зберігаються у папці /etc/logrotate.d. Кожен файл у цій папці визначає керування журналами конкретної програми. Наприклад файл /etc/logrotate.d/rsyslogце управління системними журналами. Для зменшення розміру журналів, що зберігаються, в цих файлах потрібно вказати параметри rotate 0і daily. Також можна додати обмеження за розміром журналу, наприклад size 10M(10 мегабайт).

sudo gedit /etc/logrotate.d/rsyslog

Потім відредагувати цей файл. Також можна зробити з іншими файлами в цій папці. Можна змінити глобальні налаштування програми logrotate, через файл /etc/logrotate.conf.

Після зміни налаштувань ротації журналів можна видалити всі старі журнали (логи). Команда в терміналі:

sudo find /var/log -type f -name "*.gz" -delete

Tmp папку в оперативну пам'ять

Можна перемістити папку тимчасових файлів на оперативну пам'ять. Через редагування файлу fstab:

sudo gedit /etc/fstab

та додати рядок tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

Однак робити це потрібно з обережністю.

По-друге, у цій папці якісь програми можуть зберігати дані, які вони використовують після перезапуску системи.

Використання swap на диску

Можна змінити умови, за яких система починає використовувати дисковий swap. За замовчуванням Ubuntu починає використовувати дисковий swap, коли оперативна пам'ятьзайнята на 40% або більше. Можна змінити цю поведінку.

sudo gedit /etc/sysctl.conf

і в кінець файлу додати рядок: vm.swappiness=10

Потім виконати перезавантаження параметрів: sudo sysctl -p

Параметр vm.swappiness=10 вказує на те, що дисковий своп буде використаний при заповненні оперативної пам'яті на 90%.

Зміна параметрів кешування запису на диск

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

Основні параметри:

  • vm.dirty_background_ratio- Розмір оперативної пам'яті для розміщення підготовлених для запису сторінок кешу.
  • vm.dirty_ratio- Розмір оперативної пам'яті для розміщення загального кешу запису.

Допоміжні параметри:

  • vm.dirty_expire_centiseconds- Вказує інтервал часу знаходження підготовлених для запису сторінок кешу у пам'яті.
  • vm.dirty_writeback_centisecs- вказує інтервал часу після закінчення якого системний процес, що виконує скидання кеша на диск, виходить зі сплячого режиму та перевіряє необхідність виконання операцій скидання кеша на диск.

Усі ці параметри записуються у файл sudo gedit /etc/sysctl.conf.

Приклад 1. Збільшення розміру кешу запису (прискорення роботи системи):

  • vm.dirty_background_ratio = 50
  • vm.dirty_ratio = 80

Приклад 2. Зменшення розміру кешу запису:

  • vm.dirty_background_ratio = 5
  • vm.dirty_ratio = 10

Дізнатися поточні значення цих параметрів можна за допомогою команди sysctl-a | grep dirty.

Змінювати ці параметри потрібно обережно. Чітко розуміючи їхній взаємний вплив, їхній зв'язок з розміром оперативної пам'яті, а також можливі побічні ефекти.

Збільшення розміру кешу або інтервалів часу може призвести до втрати даних у разі вимкнення живлення або критичного збою системи.

Великий розмір кешу в комплексі з великим обсягом запитів на запис може періодично створювати ситуацію, коли на тривалий час блокуватимуться запити на запис, оскільки системі потрібно буде скинути на диск великий обсяг даних із заповненого кешу.

Прискорення меню Dash

Можна вимкнути пошук в Інтернет-джерелах, коли ви пишите щось у пошуковому рядку меню Dash. Через графічний інтерфейс: "Налаштування - захист та приватність - пошук: відображати результати пошуку в Інтернеті".

Або через термінал: gsettings set "com.canonical.Unity.Lenses" remote-content-search none.

Крім цього можна вимкнути і пошук комерційних пропозицій онлайн-магазинах. Команда в терміналі:

gsettings set "com.canonical.Unity.Lenses" disabled-scopes "["more_suggestions-amazon.scope","more_suggestions-u1ms.scope","more_suggestions-populartracks.scope", "music-musicstore.scope","more_sug -ebay.scope", "more_suggestions-ubuntushop.scope","more_suggestions-skimlinks.scope"]"

Додати кодування Windows до текстового редактора Gedit

Щоб не було "кракозябр", при відкритті текстових файлів WindowsУ редакторі Gedit потрібно додати кодування Windows-1251. Команда в терміналі:

gsettings set org.gnome.gedit.preferences.encodings auto-detected "["UTF-8", "WINDOWS-1251", "CURRENT", "ISO-8859-15", "UTF-16"]"

Скроллбари Unity традиційного вигляду

За замовчуванням, в Unity, скроллбари приховані. Але можна зробити, щоб вони були видно постійно. Команда в терміналі:

gsettings set com.canonical.desktop.interface scrollbar-mode normal

Простий MP3 плеєр під Ubuntu

З коробки в Ubuntu встановлюється музичний плеєр rhythmbox. Він досить великий і не дуже зручний, у ньому зайвого багато. Можна його видалити та встановити більш простий та зручний плеєр.

sudo apt-get remove rhythmbox

sudo apt-get install Audacious

Audacious невеликий плеєр без зайвих наворотів:

sudo apt-get install qmmp

Додавання клавіатурних скорочень для запуску програм

Часто використовувані програми, наприклад Наутілус, можна запускати з клавіатури, якщо призначити поєднання клавіш. Це робиться через графічний аплет "Налаштування - Клавіатура - Комбінації клавіш":

У секції "Додаткові комбінації" можна додавати команди запуску і зв'язувати їх з клавішами.

Спочатку додається команда. Потім, у списку команд, на потрібному рядку натиснути мишею і натиснути потрібне поєднання клавіш.

Згорнути усі вікна (Відкрити Робочий стіл) в Ubuntu

В Ubuntu 14.04, за замовчуванням, згорнути все відкриті вікнаможна з клавіатури: Ctrl+Win+D. Крім цього можна додати кнопку на панель запуску, яка виконуватиме цю ж дію. Це робиться через графічний аплет "Налаштування - Оформлення - Режим":

Поєднання клавіш Ctrl+Win+D, мій погляд, незручно. У Windows використовується Win+D(Таке поєднання було і в 11-х версіях Ubuntu). Для того, щоб змінити це поєднання потрібно встановити програму compizconfig-settings-manager. Потім запустити її та у розділі "Робочий стіл" відкрити " Ubuntu Unity Plugin". Параметр " Show desktopвизначає поєднання клавіш для цієї дії:

Для ентузіастів

Для тих, хто любить заглибитись у налаштування, можу порадити пару програм.

gsettings

Консольна програма. Дозволяє змінювати велику кількість параметрів системи. Налаштування організовані у вигляді дерева – схеми, у схемах ключі, яким можна надавати значення.

Команда gsettings help видасть список параметрів. Наприклад gsettings list-recursivelyвидає загальний список схем, ключів та поточних значень.

dconf

графічна програма. Також дозволяє змінювати системні налаштування. Цю програму потрібно встановлювати ( sudo apt-get install dconf).

Тим не менше, якщо ви використовуєте важке оточення робочого столу, як Unity, швидкість може впасти. Ця стаття містить список з 4 простих порад, які можна застосувати для прискорення системи Ubuntu 16.04. Ви повинні побачити підвищення швидкості на слабких апаратних засобах та у Virtualbox. Він також допомагає навіть якщо ви встановили на твердотільному накопичувачі.

Зробити комп'ютер швидше знову!

1. Вимкнути запуск програм

Ubuntu 16.04 запускає багато програм під час завантаження, які можна знайти непотрібними. Щоб прискорити процес завантаження, ви можете вимкнути деякі з них. Однак, більшість запущених додатківприховані. Для їх відображення просто виконайте таку команду:

Sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop

Потім запустіть програму запуску з Unity Dash.

Щоб вимкнути запуск програми, просто зніміть галочку.

Ось деякі програми, які ви можете знайти небажаними.

Доступність менеджера профілів

Він використовується для відображення піктограми доступності лотка на екрані входу до системи. Якщо вам не потрібна екранна клавіатура, програма читання з екрана, то можете вимкнути його.

Монітор резервного копіювання

Це deja-dup-monitor. Якщо ви не бажаєте створити резервну копію, вимкніть його.

Caribou

Вимкніть його, якщо вам не потрібно екранна клавіатура.

Desktop Sharing

Вимкніть його, якщо вам не потрібно віддалено керувати системою Ubuntu. У вас ще є можливість дистанційного керуваннякомп'ютер одного через VNC.

Gnome Software

Вимкніть його, якщо ви хочете встановити програмне забезпечення в терміналі та не використовуйте програмне забезпечення Gnome.

Orca для читання з екрану

Вимкніть його, якщо ви все ще можете бачити чудовий світ.

Особистий загальний доступ до файлів

Вимкніть його, якщо ви не використовуєте Bluetooth для обміну файлами.

Оновлення Notifier

Вимкніть його, якщо ви не бажаєте отримувати сповіщення про доступні оновлення. програмного забезпечення.

2. Налаштуйте файл підкачки

Ми всі знаємо, що оперативна пам'ять набагато швидша, ніж жорсткий диск.

Давайте зробимо невеликий експеримент: Завантажте систему Ubuntu 16.04, відкрийте кілька програм, таких як Firefox, LibreOffice, Mozilla Thunderbird, Evince для перегляду документів, а потім щось з ним зробіть. Не зупинити або сплячий режим. Потім через кілька годин повернутися до Ubuntu 16.04. Ви побачите, що ці програми погано реагують на кліки миші, тому що вони простоювали і вивантажені на жорсткий диск.

Ви можете знайти в системному моніторі, який Ubuntu використовує простір підкачування, хоча у вас є багато вільної фізичної пам'яті.

Це відбувається через значення swappiness за замовчуванням Ubuntu. Swappiness є параметром ядра , який контролює, як часто Linux Swap з неробочих процесів переміщає у простір підкачування на жорсткому диску.

Значення swappiness знаходиться між 0 ~ 100 . Нижче значення означає, що Linux буде використовувати простір підкачки менше, в той час як більш високе значення призводить до Linux використовувати простір підкачки частіше. Значення за замовчуванням на Ubuntu це 60, що означає, коли ваш комп'ютер використовує 40% фізичної пам'яті, після чого ядро ​​Linux починає вивантажувати.

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

Sudo sysctl vm.swappiness=10

Не додавайте пробіли перед та після знаку рівності. Цей параметр не є незмінним.

Щоб зробити його стійким після перезавантаження, вам потрібно відредагувати файл.

Sudo nano /etc/sysctl.d/99-sysctl.conf

Наприкінці цього файлу додайте наступний рядок.

Vm.swappiness=10

Збережіть та закрийте цей файл. (Натисніть Ctrl + O, щоб зберегти, натисніть Ctrl + X, щоб вийти) Цей також застосовується до вашого серверу Ubuntu 16.04.

3. Завантаження часто використовуваних програм

Ви незадоволені швидкістю запуску браузера Firefoxабо інших повільних програм? Ось невелика частина програмного забезпечення називається preload що означає запам'ятовувати, такі програми ви використовуєте найчастіше і завантаження пов'язаних бібліотек і виконуваних файлівна згадку, так що ці програми можуть бути запущені швидше.

Встановити попереднє навантаження на Ubuntu 16.04 за допомогою команди:

Sudo apt install preload

Після встановлення попереднього завантаження демон автоматично запускатиметься. Ви можете перевірити це за допомогою:

Systemctl status preload

Якщо він не працює, то запустіть його за допомогою наступної команди:

Sudo systemctl start preload

Тепер ви можете забути про попереднє завантаження і зробити свою іншу роботу.

4. Вимкнути незвичайні ефекти

Незвичайні ефекти можуть сповільнити роботу комп'ютера. Ми можемо використовувати compizconfig-settings-manager, щоб вимкнути їх.

Sudo apt install compizconfig-settings-manager

Запустіть його за допомогою Unity Dash. Потім натисніть на вкладку Effects ліворуч і вимкніть ефекти, які вам не подобаються. Ви можете вимкнути всі ефекти, якщо ви хочете.

Ви також можете вимкнути розмиття фону за допомогою інструмента Unity Dashщоб зробити Dash більш чуйними.

Sudo apt install unity-tweak-tool

Потім відкрийте його, виберіть вкладку search і встановіть розмиття фону вимкненим.

Як Ви надаєте перевагу?

До

Після

Бонус Підказка: Дізнайтеся винуватця повільного завантаження

Ви можете дізнатися, який сервіс займає скільки часу закінчити запуск, ввівши наступну команду в терміналі.

Systemd-analyze blame

Як ви можете бачити з наведеного вище екрана, mnt-pi.mount та vboxadd.service є винуватцями на моєму комп'ютері. Я знаю, що mnt-pi.mount відповідає за монтаж NFS для мого Raspberry Pi, але мені не потрібний NFS більше, так що я можу безпечно видалити монтажу NFS з файлу /etc/fstab . Я також знаю, що vboxadd service це корисно тільки для віртуальних машинтак що я можу відключити цю службу на моїй фізичній машині.

Sudo systemctl disable vboxadd.service

Щоб дізнатися час завантаження, виконайте таку команду:

Systemd-analyze time

Інші способи прискорити Ubuntu 16.04

Ви знаєте інші способи, які можуть прискорити Ubuntu 16.04? Поділіться своїми порадами у коментарях нижче.

В цілому користувачі Linuxкористуються швидшою операційною системоючим користувачі Windows. Однак, якщо ви використовуєте середовище з суперважким оточенням, наприклад Unity, ваш Ubuntu 16.04 може працювати повільно. У цьому пості перераховано 4 простих поради, які можна застосувати, щоб прискорити роботу системи Ubuntu 16.04. Ви побачите збільшення швидкості на low-end обладнанні та у Virtualbox. Це також допомагає, навіть якщо ви встановили Ubuntu на жорсткий диск.

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

Давайте подивимося, як зробити Ubuntu 16.04 швидше!

  1. Вимкніть непотрібні програми для запуску, щоб прискорити завантаження Ubuntu.

Під час завантаження Ubuntu запускає багато програм, які можуть бути непотрібними. Щоб прискорити завантаження Ubuntu 16.04, можна вимкнути деякі з них. Однак,

Більшість програм запуску приховані. Щоб відобразити їх, виконайте таку команду:

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop

Потім запустіть програму для запуску з Unity Dash.

Щоб вимкнути програму завантаження, просто зніміть її.

Ось деякі програми, які ви можете знайти небажаними.

Прискорення Ubuntu: Менеджер профілів доступності

Він використовується для відображення піктограми в області спеціальних можливостейна екрані входу. Якщо вам не потрібна екранна клавіатура, програма читання з екрана, а потім вимкніть її.

Резервний монітор

Це deja-dup-монітор. Якщо ви не бажаєте копіювати що-небудь за допомогою deja-dup, вимкніть його.

Прискорення Ubuntu: Caribou

Вимкніть його, якщо вам не потрібна екранна клавіатура.

Загальний доступ до робочого столу

Це для підключення VNC. Вимкніть його, якщо вам не потрібно нікого, щоб віддалено керувати системою Ubuntu. У вас все ще є можливість віддаленого керуваннякомп'ютер інших через VNC.

Програмне забезпечення Gnome

Вимкніть його, якщо ви хочете встановити програмне забезпечення в термінал і не використовувати програмне забезпечення Gnome.

Пристрій читання з екрану Orca

Вимкніть це, якщо ви хочете прискорити Ubuntu.

Прискорення Ubuntu: Загальний доступ до файлів

Вимкніть його, якщо ви не використовуєте bluetooth для обміну файлами.

Повідомлення про оновлення

Вимкніть його, якщо ви не бажаєте отримувати сповіщення про наявність оновлень програмного забезпечення.

Ще один спосіб прискорити процес завантаження Ubuntu – відключити деякі служби systemd. Ви можете переглянути додаткові програми, що запускаються, виконавши наступну команду в терміналі.

systemctl list-unit-files | grep enabled

Увімкненовказує, що служба автоматично запускається під час завантаження Ubuntu. Щоб вимкнути службу автоматичного запуску, використовуйте таку команду:

sudo systemctl disable

Наприклад, мій комп'ютер не має bluetooth, тому я можу вимкнути службу bluetooth.

sudo systemctl disable bluetooth.service

У мене немає принтера, тому я також можу вимкнути cups.service.

sudo systemctl disable cups.service

Увага. Перед вимкненням переконайтеся, що ви знаєте, що робить служба.

  1. Налаштуйте Swappiness

Прискорення Ubuntu 16.04 потребує комплексного підходу. Тому цей варіант також стане в нагоді.

Ми всі знаємо, що оперативна пам'ять набагато швидша, ніж жорсткий диск.

Давайте трохи поекспериментуємо: завантажте систему Ubuntu 16.04, відкрийте кілька програм, таких як Firefox, LibreOffice, Mozilla Thunderbird, Evince document viewer, а потім нічого не робіть з цим. Не зупиняйте або не сплячий режим. Потім за кілька годин поверніться до свого Ubuntu 16.04. Ви виявите, що ці програми погано реагують на ваші клацання мишею, тому що вони не діяли і вивантажувалися на жорсткий диск.

Ви можете знайти в системному моніторі, що Ubuntu використовує простір файлу підкачки, хоча у вас достатньо вільної фізичної пам'яті.

Це пов'язано зі значенням swappiness за умовчанням для Ubuntu. Swappiness - це параметр ядра Linux, який контролює, як часто Linux згортає незайняті процеси в простір підкачування на жорсткому диску.

Значення swappiness знаходиться між 0 ~ 100. Нижнє значення означає, що Linux використовуватиме простір підкачки менше, тоді як більш високе значення змушує Linux частіше використовувати простір підкачки. Значення за умовчанням для Ubuntu дорівнює 60, що означає, що якщо ваш комп'ютер використовує до 40% фізичної пам'яті, ядро ​​Linux починає підкачування. Тобто, прискорити Ubuntu можна просто правильно відрегулювавши цю функцію.

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

cat /proc/sys/vm/swappiness

sudo sysctl vm.swappiness=10

Не додавайте пробіли до знаку рівності і після нього. Ця команда вказує ядру Linuxвикористовувати простір підкачування при використанні 90% або більше фізичної пам'яті. Цей параметр не є незмінним.

Щоб зробити його постійним під час перезавантаження, вам необхідно відредагувати файл.

sudo nano /etc/sysctl.d/99-sysctl.conf

Наприкінці цього файлу додайте наступний рядок.

Збережіть та закрийте цей файл. (Натисніть Ctrl+O, щоб зберегти, натисніть Ctrl+X, щоб вийти). Ця порада також застосовується до вашого сервера Ubuntu 16.04.

Наступна порада допоможе суттєво прискорити Ubuntuна будь-яких конфігураціях пристроїв.

  1. Попередньо завантажуйте часто використовувані програми

Ви незадоволені швидкістю запуску браузера Firefox або інших повільних програм? Ось невеликий шматок програмного забезпечення під назвою preload, який запам'ятовує, які програми ви використовуєте найчастіше, і завантажуєте пов'язані бібліотеки та двійкові файлина згадку, щоб ці програми могли запускатися швидше. Це може суттєво прискорити Ubuntu і всі програми, які ви найчастіше використовуєте у себе на пристрої.

Встановіть попереднє завантаження на Ubuntu 16.04 за допомогою цієї однорядкової команди.

sudo apt install preload

Після встановлення та «монтування» попереднього завантаження, процес буде автоматично запущений. Ви можете перевірити це:

systemctl status preload

Якщо його не запущено, запустіть його за допомогою наступної команди:

sudo systemctl start preload

Тепер ви можете забути про попереднє завантаження та виконати іншу роботу. Прискорення Ubuntu включає ще спосіб, який на думку багатьох є дуже ефективним. Особливо на пристроях з мобільними відеокартами.

  1. Вимкнути додаткові ефекти

Незвичайні ефекти — це цукерки для очей, але вони можуть уповільнити роботу вашого комп'ютера. Ми можемо використовувати compizconfig-settings-manager для їхнього відключення.

sudo apt install compizconfig-settings-manager

Почніть його з Unity Dash. Потім натисніть вкладку Ефекти ліворуч і вимкніть ефекти, які вам не подобаються. Ви можете вимкнути всі ефекти, якщо хочете.

Ви також можете вимкнути розмиття фону Unity Dash за допомогою інструменту Tweak Unity, щоб зробити Dash більш чуйним.

sudo apt install unity-tweak-tool

Потім відкрийте його, виберіть вкладку пошуку та встановіть для «Розмиття фону» значення «Вимк.».

Деяким людям подобається прозорий фон. Якому ви віддаєте перевагу? І як допоміг цей метод прискорити Ubuntu на вашій системі.

Після

Прискорення Ubuntu, як ми вже говорили, вимагає виконання безлічі способів для хорошої продуктивності пристрою.

Ви можете дізнатися, яка служба займає скільки часу, щоб завершити запуск, ввівши наступну команду в терміналі.

Як ви можете бачити з наведеного вище скріншота, mnt-pi.mount та vboxadd.service є винуватцями на моєму комп'ютері. Я знаю, що mnt-pi.mount відповідає за встановлення NFS з мого Raspberry Pi, але мені більше не потрібна NFS, тому я можу безпечно видалити монтаж NFS з файлу / etc / fstab. Я також знаю, що служба vboxadd є корисною тільки для віртуальних машин, тому я можу відключити цю службу на своїй фізичній машині.

sudo systemctl disable vboxadd.service

Щоб дізнатися час завантаження, запустіть:

Після

Інші способи прискорити роботу Ubuntu 16.04

Переклад статті з чудового англійського ресурсу LinuxBabe.

Сподіваюся, ці налаштування продуктивності допомогли зробити Ubuntu 16.04 швидше. Чи знаєте ви інші способи, які можуть прискорити роботу Ubuntu 16.04? Поділіться своїми порадами у коментарях нижче. Якщо ви знайшли цей пост корисним, підпишіться на нашу безкоштовну розсилку або поділіться посиланням на Google+, Однокласники, Twitter, ВКонтакті або, наприклад, Facebook.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.