Как мне улучшить скорость загрузки?

67

Я видел много видео, которые делают Ubuntu быстрее, но эти методы только повышают производительность рабочего стола.

Я ищу, чтобы мой компьютер загружался быстрее. Могу ли я что-нибудь сделать, чтобы Ubuntu загрузился значительно быстрее?

jnut
источник
5
Системы, использующие systemd(начиная с 15.04 IIRC), поставляются с инструментом, systemd-analyzeкоторый может помочь вам проанализировать, какой процесс занимает сколько времени для загрузки. Смотрите, man systemd-analyzeчтобы узнать обо всех его вариантах, systemd-analyze blameхотя вы, вероятно, будете использовать большинство из них .
Byte Commander
@ByteCommander Шаг за шагом ответ сделает всю работу.
Анвар

Ответы:

28

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

О, еще одна вещь, ваш тип файловой системы также имеет значение. EXT4 претерпел некоторые ухудшения производительности (согласно phoronix), но я все же нашел EXT4 отличным для быстрой загрузки.

RolandiXor
источник
Вы могли бы добавить, какой сервис может быть отключен, который обычно не используется?
Филипп Гачу
@PhilippeGachoud Я действительно не могу вспомнить сейчас. Это с 2010 года!
RolandiXor
Я использую обратно совместимый SSD, и моя плата SATA. Это быстро сходит с ума.
userDepth
17

Я только что столкнулся с этим на днях. Его "e4rat" инструкции здесь

Это маленькое приложение удивительно.

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

У меня есть загрузочные диаграммы, чтобы доказать это. Это безумие! введите описание изображения здесь

Самка луня
источник
1
Это действительно помогает !!!
user12164
Все больше людей должны знать об e4rat, это фантастический инструмент, который значительно улучшил многие советы и хитрости.
Виктор Белкхольм,
3
Это все еще законно для 12.04? Я слышал, что это вызовет проблемы с Ureadahead. Это правда?
user138784
@ user138784, как я понимаю, это потому, что ureadahead работает так же, как e4rat, поэтому они явно конфликтуют. Но e4rat почему-то кажется лучше, чем ureadahead Также, возможно, было бы полезно - e4rat по какой-то причине не работает по умолчанию, он нуждается в некоторой настройке , в противном случае файл журнала не создается.
Привет, Ангел,
e4rat не работал в 16.04
Анвар
17

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

Что такое systemd?

Короче говоря, systemd - это менеджер системы и служб для Linux, совместимый с сценариями инициализации 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 Tool

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

Как только вы загрузите и установите, вы можете запустить его с помощью systemd-managerкоманды. Начни это.

Приложение имеет два основных вида. Один из них - Systemd Units, а другой - Systemd Analyze . Вы можете переключить его с меткой в ​​верхнем левом углу. Смотрите скриншот.

Swithch Between Views

И есть три типа юнитов, которыми вы можете управлять. Сервисы , Розетки и Таймеры . Вы можете переключаться между ними. Смотрите скриншот.

Переключение между типами единиц

Отображение информации

Три основные вкладки: Файлы , Журнал , Зависимости .

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

Индикаторы состояния

Есть два столбца рядом с названием единиц для обозначения статуса. Левый указывает, включен ли этот модуль для запуска при загрузке, а правый указывает, работает ли этот модуль в данный момент. Смотрите их на картинке.

Включено при загрузке

Текущий статус

Управляющие переключатели

Чтобы включить или отключить состояние «включено» при загрузке, в правом верхнем углу есть две кнопки переключения. Включено означает, что устройства будут запускаться и загружаться. Смотрите их на картинке.

Toogle переключается, чтобы включить / запустить

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

Полный просмотр

Надеюсь, это поможет. Я получаю пользу от других ответов о systemd, но мне действительно нужно было собрать информацию в одном месте.

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

Чтобы узнать больше о systemdвы можете посетить эти ссылки:

Другие ответы имеют разные предложения. В том числе покупка SSD, увеличение оперативной памяти и т. Д. Если вы можете себе это позволить, это определенно поможет, особенно предложение SSD.

Анвар
источник
15

Переключитесь с магнитного накопителя на твердотельный накопитель или магнитный и твердотельный гибридный накопитель. Это заставит любую ОС загружаться намного быстрее. Гибридные диски не намного дороже. Если вы не хотите заходить так далеко, просто приобретите жесткий диск 7200 или 10K RPM.

Джим Маккит
источник
6
Скорость диска является текущим узким местом загрузки.
Скоттл
@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 = shell теперь устарел и имеет псевдоним 'makefile'. С 2010-05-14 по умолчанию было 'makefile'."    ~ Джонатон

3. Отключение ненужных демонов

Это немного сложнее, поэтому лучше этого не делать, если вы не знаете, что это значит. Установите bumи запустите его с правами root. Затем просто снимите флажки напротив тех демонов, которые вам точно не нужны. Например, когда у вас нет сканера, вы можете отключить saned. И если вы никогда не используете Bluetooth, вы также можете отключить bluetooth.
Когда вы закончите, нажмите кнопку « Применить» и нажмите « да» или « нет» (это не имеет большого значения).

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

RobinJ
источник
3
CONCURRENCY = shell теперь устарел и имеет псевдоним 'makefile'. С 2010-05-14 по умолчанию был 'makefile'.
Джонатон
Можно ли перечислить (или дать краткое объяснение), какие пакеты вы советуете удалить? (первый пункт в вашем объяснении). Всегда помните, что есть люди, которые просто копируют и
вставляют,
1
@CommuSoft Так как этот ответ касается Ubuntu 11.04, в любом случае было бы нежелательно применять тот же ответ к более поздним версиям. Некоторые из этих вещей больше не будут работать, а другие могут сломать систему.
RobinJ
9

Используйте загрузочную диаграмму для создания подробных графиков того, что занимает время во время загрузки. Это может помочь решить, что нужно настроить или удалить. С https://wiki.ubuntu.com/BootCharting :

  • Установите пакеты bootchart и pybootchartgui через apt-get или Synaptic
  • Перезагрузите свою машину
  • Загрузочная диаграмма находится в / var / log / bootchart как файл .png
Дэвид Андерссон
источник
Современный эквивалент описан
Уилф
4

Замена жесткого диска на SSD, вероятно, единственный практический метод. Пример:

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

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

Стив-О
источник
1
Чтобы опустить голос, скорость диска является основным узким местом и всегда заслуживает внимания, как и ранее .
Стив
3

Моя машина загружалась ПУТЬ быстрее, если я сделал альтернативную установку и добавил пакеты с графическим интерфейсом вручную. Конечно, это просто отбрасывает вещи, которые мне не нужны, которые я могу добавить в себя. Если вы собираетесь вернуться с «как мне скомпилировать / установить приложения X, Y и Z», это может быть не очень хорошая идея.

RobotHumans
источник
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/

Xamidovic
источник
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

Я обнаружил это, потому что мне было любопытно узнать о части «Выполнение локальных сценариев при запуске» во время загрузки, и я немного изучил initramfs, что привело меня к этой опции, которую я ранее использовал, только когда моя система не могла выйти из спящего режима.


Редактировать 06.08.2016: Вам следует обновить последнюю версию своего дистрибутива Linux, которая поставляется с systemd


Ингредиенты:

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

Я должен сказать, что 32 секунды на самом деле достаточно хорошо. Это не будет намного быстрее с традиционным оборудованием. Мой новый Lenovo T530 занимает столько же времени для загрузки в устаревшем режиме. С новым микро-SSD, который я недавно установил, и Ubuntu в режиме UEFI время нажатия кнопки питания до входа в систему составляет 15 секунд. По-прежнему создается ощущение, что он тратит 5 секунд во время публикации, но абсолютно не тратит время на запуск реальной операционной системы. Микро SSD имеет скорость передачи 280 МБ / с, может быть 500 МБ / с, SSD может достигать 7 секунд. Но производители действительно должны сократить время предварительной загрузки ОС (POST, а что нет).

Относительно профилирования загрузки и параллелизма оболочки. Эта информация может рассматриваться как устаревшая или в конечном итоге миф. Я помню, что автоматическое профилирование загрузки или что-то, что делало профилирование загрузки абсолютно ненужным, было добавлено в Linux или основную систему несколько лет назад, с тех пор я больше не использовал профилирование загрузки после установки нового пакета ядра. Говорят, что параметр параллелизма оболочки нарушает работу, но в случае Systemd и Upstart он также должен быть излишним и не должен иметь положительного эффекта.

LiveWireBT
источник
1

Сборщик мусора прав. Действовать с осторожностью. Но некоторые из программ, которые вы можете безопасно отключить, - это утилиты для удаления почты, такие как Evolution, особенно если вы сначала не используете Evolution. Кроме того, все, что связано с печатью, можно отключить, если вы вообще не печатаете. То же самое для беспроводной, если вы подключены.

jfmessier
источник