Как я могу улучшить время загрузки / выключения?

29

У меня довольно приличный ноутбук (процессор Intel Core i7-3520M @ 2,90 ГГц, SataII SSD от Samsung, 8 ГБ ОЗУ), но я не удовлетворен временем загрузки и выключения ... Я установил загрузочную диаграмму и пытаюсь ее интерпретировать , но я не понимаю некоторые части.

Вывод загрузочной диаграммы

В частности, я не понимаю, что происходит в течение первых 10 секунд, когда практически не используется ни загрузка процессора, ни операции ввода-вывода. Что происходит потом? (похоже, работает только udevd, modprobe и plymouth).

На другом конце моей повседневной работы я также испытываю медленное отключение. Здесь нет таблицы сокращений, поэтому я еще более невежественен ...

Обновление Я наткнулся на подсказку о том, что нажатие клавиши «вверх» во время выключения дает доступ к консоли (до этого я боролся с F1 / Alt F1). Итак, я видел, что длительное время выключения, по-видимому, связано с тем, что rpcbind и modem-manager не могут корректно завершить работу ... Есть идеи?

Обновление 2 Я удалил rpcbind, а также модем-менеджер. Это улучшило ситуацию при завершении работы, но у меня все еще есть несколько секунд ожидания между сообщением «Все процессы завершились в течение 1 секунды» и реальным завершением работы. Именно тогда я получаю быстрое сообщение, которое еще не смог прочитать, но подозреваю, что произошел какой-то тайм-аут ...

Обновление 3 Хорошо, я думаю, что я сузил дело до выполнения резюме и ожидания корня в течение первых 10 секунд процесса загрузки. Это занимает более 5 секунд, без каких-либо дисковых или заметных нагрузок на процессор. Я заметил, что UUID подкачки в /etc/initramfs/conf.d/resume не совпадает с реальным UUID моего раздела подкачки, который ... зашифрован. Может в этом суть? Любой намек на initramfs-tools и cryptswap?

ALCI
источник
Я знаю, что это не связано. Но все же я не хочу пропустить, предлагая вам использовать Suspend (для RAM / на диск) в качестве альтернативы. От "выключенного состояния" до "рабочего состояния" это менее 3 секунд для моей более слабой системы
человечествоANDpeace
1
Приостановка на диск почему-то не рекомендуется при использовании SSD, так как это подразумевает запись памяти на диск каждый раз ... но вы правы, чем быстро перейти от приостановки к памяти.
Alci
1
Я ожидал бы около 15 секунд, может быть, 10. Мой SSD очень быстрый, и мой процессор неплох, думаю, я смогу извлечь из этого максимум. Честно говоря, время загрузки не так уж плохо, но время выключения. Тем не менее, удаление rpcbind и modem-manager (сделал это сегодня) сделало вещи намного лучше. Я также думаю, что понимаю первые 10 секунд загрузки: похоже, это время, которое происходит в initramfs, когда udev загружает драйверы и / dev заполняется. Не знаю, может ли это быть намного быстрее ... (см. Www.debian-administration.org/articles/620)
alci
1
это хорошо, что вы сделали успехи с выключением. Вам повезло с процессом загрузки? виноват ли UDEV?
человечество
1
Спасибо, rpcbind и модем-менеджер помогли мне - и также rngd: bugs.launchpad.net/ubuntu/+source/rng-tools/+bug/1425036 Теперь, наконец, он берет мою машину (Lenovo W530 с SSD, так что все еще мощный) меньше времени на выключение, а затем на загрузку (менее 10 секунд).
субботу

Ответы:

12

Хорошо, я нашел проблему. Как я чувствовал, 5 секунд ожидания возобновления и ожидания корня не являются нормальными.

Погуглив, я наконец нашел этот отчет об ошибке: 5-секундная задержка ожидания корня

По сути, в нем говорится, что ожидание в 5 секунд происходит из-за неправильного входа в /etc/initramfs-tools/conf.d/resume.

Оказывается, мой своп зашифрован, и у меня была первоначальная установка UUID в /etc/initramfs-tools/conf.d/resume. Я пытался поставить тот, который дал blkid для / dev / mapper / cryptswap1, но это не сработало ...

Я, наконец, только что закомментировал запись в файле, и 5-секундная задержка прошла. В любом случае, hibernate не включен в моей системе (я думаю, что он отключен по умолчанию в Ubuntu). Обратите внимание на # в начале записи.

#RESUME=UUID=3835540d-0cb4-46fc-b39a-de9ff88dcefd

затем запустите:

sudo update-initramfs -u

Итак, вот мой последний загрузочный график:

Bootchart

Намного лучше. Что касается выключения, удаление rpcbind и modemmanager сделали свое дело. Теперь у меня отличное время загрузки и выключения.

ALCI
источник
Очень приятно видеть, что вы обнаружили эту проблему, связанную с обменом wait_for_root и т. Д., И смогли сократить время загрузки. @alci относительно вас "довольно большой 8GB" Мне было интересно, для чего вы используете свой компьютер, так что имеет смысл вам использовать своп в конце концов? Вы когда-нибудь использовали раздел подкачки, следовательно, какое-то ваше приложение использует> 8 ГБ ОЗУ? Вау? в противном случае вы могли бы избежать проблем со свопом, не используя его в первую очередь.
человечество
1
Мой своп здесь, потому что ... у меня всегда был своп с моей установкой Linux. И я всегда применял старое эмпирическое правило: размер свопа = размер оперативной памяти :-). Использую ли я когда-либо больше 8 ГБ ОЗУ? Обычно нет. Но что произойдет, если я сделаю и не имею своп? И какова стоимость обмена?
Alci
-6

Может быть, вы хотели бы рассмотреть возможность установки вашей ОС в оперативной памяти? Если реальная скорость - это то, что вам нужно, тогда это будет именно так. Разница между временем загрузки SSD и временем RAM просто огромна.

Каспар
источник
17
Крутая идея, но я бы посчитал немного неудобным переустанавливать свою ОС каждый раз, когда я выключал ОЗУ ... :-)
alci
Технически говоря, установленная система в ОЗУ исчезнет, ​​как только вы выключите компьютер
Эд Виллегас
Конечно, именно поэтому вы покупаете ИБП и никогда не отключаете его.
Каспар
Установить свою ОС в оперативную память? memcache уже запускает его, но установка вашей ОС?
Linuxios
@ Linuxios Я вроде как однажды сделал это, скопировав образ моего раздела <2.5GB / root в раздел tmpfs в ram. После первоначального объемного копирования данных объемом 2,5 ГБ он работает довольно быстро. Тем не менее, как @ Linuxios говорит, что кэширование в Linux позволяет достичь аналогичных скоростей. Этот комментарий просто для того, чтобы сказать: не совсем безумно запускать linux в оперативной памяти. Это выполнимо. при копировании изображения перед выключением оно может даже стать постоянным явлением :)
humanityANDpeace