Як покращити швидкість завантаження?


67

Я бачив багато відео, які роблять Ubuntu швидше, але ці методи лише роблять швидкість роботи на робочому столі.

Я хочу зробити швидше завантаження комп'ютера. Чи є все, що я можу зробити, щоб Ubuntu завантажувався значно швидше?


5
Системи, що використовують systemd(починаючи з 15.04 IIRC), постачаються з інструментом, systemd-analyzeякий допоможе вам проаналізувати, який процес потребує завантаження. Дивіться, man systemd-analyzeщоб дізнатись про всі його варіанти, systemd-analyze blameхоча ви, ймовірно, будете використовувати більшість .
Командир байтів

@ByteCommander Покрокова відповідь виконає цю роботу.
Анвар

Відповіді:


28

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

Ще одна річ, ваш тип файлової системи також змінює. EXT4 зазнав певних регресій продуктивності (за даними phoronix), але я все ще знайшов EXT4 чудовим для швидкого завантаження.


Ви можете додати, яку службу можна відключити, яка зазвичай не корисна?
Філіп Гачуд

@PhilippeGachoud я зараз не можу згадати. Це з 2010 року!
RolandiXor

Я використовую зворотний сумісний SSD, а моя плата - SATA. Це швидко завантажується з розуму.
userDepth

17

Я просто перебіг це на днях. Тут є його інструкція "e4rat"

Це маленьке додаток дивовижне.

Я взяв завищений однопроцесорний AMD Sempron, який працює на 2800+, який нормально завантажує Natty за 1,45 хвилин до 27,885 сек.

У мене є завантажувальні діаграми, щоб довести це. Це божевілля! введіть тут опис зображення


1
Це справді допомагає !!!
користувач12164

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

3
Це ще законно за 12.04? Я чув, що це призведе до проблем з уреадахедом. Це правда?
user138784

@ user138784, як я розумію, це тому, що ureadahead робить подібну роботу, як e4rat, тому вони, очевидно, конфліктують. Але e4rat чомусь здається кращим, ніж ureadahead. Також, можливо, було б корисно - e4rat чомусь не працює за замовчуванням, він потребує певного налаштування , інакше файл журналу не створюється.
Привіт-Ангел

e4rat не працював 16.04
Anwar

17

Поліпшення часу завантаження дуже пов'язане з відключенням / керуванням сервісом, але в поточних відповідях відсутні деталі щодо відключення служб, які використовують systemd.

Що систематизовано?

Коротше кажучи, systemd - це системний і сервісний менеджер для Linux, сумісний із сценаріями init SysV та LSB. Більше про це можна прочитати на офіційній сторінці проекту .

Перевірте, які послуги займають найбільше часу

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

systemd-analyze blame

Відключення автоматичного запуску послуг під час завантаження

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

sudo systemctl disable some-time-eater-service.service --now

Однак ви можете побачити, які саме послуги потребують відповідної послуги. Для перевірки використовуйте наступну команду

systemctl list-dependencies some-time-eater-service.service --reverse

Примітка. Замініть some-time-eater-service.serviceфактичну назву послуги типу postgresql@9.5-main.service.

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

Повністю вимкнути послуги.

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

sudo systemctl mask <SERVICE-NAME>

Замініть <SERVICE-NAME>фактичну назву послуги

Різниця між maskі disableє маскою зробити сервіс повністю відключити, ви не можете запустити його. Ви повинні unmaskпочати його з Systemd (ви все ще можете почати з service). Але disableпросто відключіть автоматичний запуск послуги, ви можете її запустити пізніше.

Наприклад, після маскування мого postgresql@9.5-main.serviceсервісу, коли я хотів запустити його, systemctlз’являється наступне повідомлення

Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.

Інструмент GUI

Один із інструментів GUI, який мені особливо цікавий, це те systemd-manager, що він все ще знаходиться на стадії розробки, і його не було зроблено - це шлях до офіційного сховища Ubuntu. Однак встановити його можна дуже просто зі сторінки github на Systemd-Manager . Випуски містять пакет .deb, який дуже просто встановити. Вам потрібен GTK-3.16 або вище.

Після завантаження та встановлення ви можете запустити його з systemd-managerкоманди. Почніть це.

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

Переміщення між поглядами

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

Переключення між типами одиниць

Відображення інформації

Три основні вкладки - Файли , Журнал , Залежності .

  • Файли - це файл конфігурації вибраного блоку.
  • Журнал - це вихідний системний випуск під час включення / відключення / запуску / зупинки одиниць
  • Залежності показують, які інші служби чи підрозділи повинні бути включені для запуску вибраної послуги.

Показники стану

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

Увімкнено під час завантаження

Зараз працює статус

Контрольні вимикачі

Щоб переключити режим включеного режиму під час завантаження або запустити стан, у верхньому правому куті є дві кнопки toogle Увімкнено означає, що одиниці будуть запускатися та завантажуватися. Дивіться їх на малюнку.

Toogle перемикає для включення / запуску

Повний вигляд програми показано нижче

Повний вигляд

Сподіваюсь, це допоможе. Мені приносять користь інші відповіді про systemd, але дійсно потрібно було зібрати інформацію в одному місці.

Більше інформації :

Щоб дізнатись більше про це, systemdви можете відвідати ці посилання:

Інші відповіді мають різні пропозиції. У тому числі придбання SSD, збільшення оперативної пам’яті тощо. Якщо ви можете собі дозволити, це, безумовно, допоможе, особливо пропозиція SSD.


15

Перехід з магнітного накопичувача на твердотільний накопичувач або магнітний та твердотільний гібридний привід. Це зробить будь-яку завантаження ОС набагато швидшим. Гібридні накопичувачі не так вже й дорожчі. Якщо ви не хочете так далеко, тоді просто отримайте 7200 або 10 Кб обертів на хвилину.


6
Швидкість диска - це поточне вузьке місце завантаження.
scottl

@scottl враховуючи мої диски SATA і мій час завантаження схоже на 1:45 хв , повідомлених @RobinJ, я сумніваюся , що є якісь - або причини вказувати палець на продуктивність диска , зокрема. Що я бачу, однак, це те, що монтаж дисків і спільних ділянок здійснюється синхронно, незважаючи на 1.) використання fastbootта 2.) ці диски, не важливі для процесу завантаження.
0xC0000022L

13

Я припускаю, що ви говорите про Ubuntu 11.04?
Я це намагаюся вже досить давно, без особливих успіхів. У будь-якому разі ці кроки змінилися за кілька секунд:

1. Видалення непотрібних пакетів

apt-get purge brltty brltty-x11 foo2zjs min12xxw ttf-indic-fonts-core ttf-kacst-one ttf-khmeros-core ttf-lao ttf-punjabi-fonts ttf-unfonts-core

2. Використання обох ядер / процесора під час завантаження

ТІЛЬКО Зробіть це, якщо ви впевнені, що ваш комп'ютер має багато / центральних процесорів!
Відкрийте /etc/init.d/rc(вам потрібні привілеї root) та замініть CONCURRENCY=noneна CONCURRENCY=shell. Потім збережіть файл.

Оновлення

"CONCURRENCY = оболонка застаріла і є псевдонімом" makefile ". З 2010-05-14 за замовчуванням було" makefile "."    ~ Джонатан

3. Відключення зайвих демонів

Це трохи досконаліше, тому краще не робити цього, якщо ви не знаєте, що це означає. Встановіть bumі запустіть його з правами root. Тоді просто зніміть прапорці перед демонами, які ви впевнені, що вам це не потрібно. Наприклад, якщо у вас немає сканера, його можна відключити saned. І якщо ви ніколи не використовуєте Bluetooth, ви можете також відключити bluetooth.
Закінчивши, натисніть кнопку Застосувати та натисніть або так чи ні (це не має великого значення).

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


3
CONCURRENCY = оболонка застаріла і є псевдонімом до 'makefile'. З 2010-05-14 за замовчуванням було "makefile".
Джонатан

Чи можна перерахувати (або дати коротке пояснення), які пакунки ви поради видалити? (перший пункт у вашому поясненні). Завжди майте на увазі, що є люди, які просто роблять копіювання-вставлення і раптом не в змозі прочитати з терміналу тощо.
Віллем Ван Онсем,

1
@CommuSoft Оскільки ця відповідь стосується Ubuntu 11.04 так чи інакше, було б недоцільним застосовувати ту саму відповідь до останніх версій. Деякі з цих матеріалів більше не працюватимуть, а інші можуть зламати систему.
RobinJ

9

Використовуйте завантажувальну схему для створення детальних графіків того, що вимагає часу під час завантаження. Це може допомогти вирішити, що підключити чи видалити. З https://wiki.ubuntu.com/BootCharting :

  • Встановіть Bootchart і pybootchartgui пакетів, або через APT-отримати або Synaptic
  • Перезавантажте машину
  • Завантажувальна програма знаходиться в / var / log / bootchart як .png файл

Сучасний еквівалент висвітлюється тут askubuntu.com/a/763070/178596
Вільф

4

Заміна жорсткого диска на SSD - це, мабуть, єдиний практичний метод. Приклад:

http://www.engadget.com/2011/08/17/samsungs-6gbps-ssd-gets-a-consumer-label-o October-ship-date/

Час звучить трохи надмірно, але ви не публікували жодних деталей.


1
Для скорочення виборців швидкість диска є головним вузьким місцем і завжди заслуговує уваги, як відповіли раніше .
Стів-о

3

Моя машина завантажилася WAY швидше, якщо я зробила альтернативну установку та додала пакети GUI вручну. Звичайно, це просто викреслює речі, які мені не потрібні, що я здатний додати себе. Якщо ви збираєтеся повернутися з "як я компілюю / встановлюю програми X, Y і Z", це може бути не дуже хорошою ідеєю.


3

Для всіх, хто бореться з цим, просто встановіть BUM і запустіть його з користувачем root (будьте обережні, використовуйте gksudo замість звичайного sudo). Потім зніміть прапорець у службі, яку ви хочете відключити (я відключив Apache2, демон PostGreSQL, MySQL, віртуальну скриньку та ін.), І це все! Ви можете повністю видалити сервіс, якщо ви цього не хочете, але відключити його більш ніж достатньо.

sudo apt-get install bum

введіть тут опис зображення


2

Спробуйте відредагувати файл "/ etc / default / grub", як вказує більшість блогів. Ви, мабуть, знаєте того. Спочатку додайте слово "профіль", потім перезавантажте, потім видаліть "профіль", потім знову перезавантажте ... це дійсно покращує швидкість завантаження. Ось один приклад: http://lgjsheron.wordpress.com/2010/07/06/how-to-speed-up-boot-of-ubuntu-10-04-lucid-lynx/


2

Редагувати 25.10.2016: Якщо ви не збираєтеся використовувати сплячий режим , тому що ви не можете , або ви віддаєте перевагу призупинити / S3 , то ви можете відключити його в Grub, додавши noresumeдо GRUB_CMDLINE_LINUX_DEFAULTв /etc/default/grubі запустити update-grub. Ось приклад на Chromebook N22 під керуванням GalliumOS:

livewire@zc01:~$ systemd-analyze
Startup finished in 8.580s (kernel) + 4.160s (userspace) = 12.740s

livewire@zc01:~$ systemd-analyze
Startup finished in 3.595s (kernel) + 4.254s (userspace) = 7.850s

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


Редагувати 06.08.2016: Вам слід оновити до останньої версії вашого дистрибутива Linux, яка постачається із системою systemd.


Інгредієнти:

  • Отримайте систему UEFI з безкоштовним кодом UEFI або Coreboot
  • Отримайте SSD
  • Встановіть Ubuntu в режимі UEFI
  • Бонус: Стисніть initramfs за допомогою xz lzop і включайте лише необхідні модулі. (Ви дійсно повинні знати, що ви робите, перш ніж намагатися це зробити.)
  • Бонус: видаліть непотрібні демони або налаштуйте їх для швидшого запуску. Хоча установка за замовчуванням вже досить хороша.
    • Приклад: завдання init btrfs, яке шукає пули для монтажу, поки на цьому пристрої немає томів btrfs. Це змусило мене видалити btrfs-інструменти з деяких моїх установок.

Маю сказати, 32 секунди насправді досить хороші. З традиційним обладнанням це не набагато швидше. Моє нове Lenovo T530 потребує стільки ж часу, щоб завантажитися в застарілому режимі. З нещодавно встановленим нами мікро-SSD та Ubuntu в режимі UEFI він нажав до 15 секунд від натискання кнопки живлення для входу. Це все ще відчуває, що він витрачає 5 секунд під час публікації, але абсолютно не витрачає час, запускаючи фактичну операційну систему. Мікро SSD має швидкість передачі 280 Мб / с, може бути 500 Мб / с, SSD може зробити це до 7 секунд. Але справді виробники повинні скоротити час завантаження перед ОС (POST, а що ні).

Щодо завантаження профілю та одночасності оболонки. Ці відомості можна вважати датованими або зрештою міфами. Я пам’ятаю, що автоматичне завантаження профілю чи щось, що робило профільне завантаження абсолютно зайвим, було додано до Linux або основної системи років тому, з того часу я більше не використовував завантажувальне профілювання після встановлення нового пакета ядра. Налаштування паралельної оболонки, як кажуть, порушує ситуацію, але для Systemd і Upstart це теж повинно бути зайвим і не повинно мати позитивного ефекту.


1

Гарніколектор правильний. Продовжуйте обережно. Але деякі програми, які ви можете безпечно відключити, - це утиліти, що з'являються електронною поштою, такі як Evolution, особливо якщо ви спочатку не використовуєте Evolution. Крім того, все, що стосується друку, можна вимкнути, якщо ви не друкуєте взагалі. Те ж саме для бездротового зв'язку, якщо ви підключені до мережі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.