Как ускорить загрузку с помощью тонкой настройки служб?

Я изменил менеджер входа на lightdm и отключил приложения запуска тоже. Мне было интересно, существовал ли возможный способ задержать все сервисы от запуска до входа в ubuntu. Таким образом, будут запущены только минимально необходимые для загрузки сервисы, что определённо увеличит время загрузки. Я также удалил плимут, чтобы отключить заставку. Чтобы добавить, я также сократил время загрузки. Но мне действительно любопытно, чтобы уменьшить загрузку услуг во время загрузки, чтобы увидеть, что происходит. Есть ли какой-нибудь возможный способ сделать это ?

1
задан 13 January 2021 в 19:27

1 ответ

Можно сделать следующее:

howiwasran="${@: 2}"

В bash $ @ является массивом аргументов bash, включая имя сценария ( $ @ аналогично argv в C/C + +).

Двоеточие здесь используется для смещения в массив. Я включаю космос между : и 2 , поскольку выражение типа

${var:-2}

имеет другое значение:

$ {parameter: -word} Использовать значения по умолчанию. Если параметр имеет значение unset или null, расширение слова заменяется. В противном случае значение параметра подставляется.

( source )

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

Этот синтаксис недопустим в sh . При использовании этого синтаксиса с sh появится ошибка Неправильная подстановка .

Также обратите внимание, что нечто подобное file * , если оно не указано в кавычках, будет расширено оболочкой с глоббингом. Глоббинг будет применен до запуска сценария, поэтому сценарий не увидит файл * в своем $ @ , он увидит что-то вроде file1 file2 file3... вместо этого .

-121--912552-

Если это возможно, выберите опцию «Удалить все». В противном случае выберите что-нибудь другое, щелкните по каждому показываемому разделу и нажмите кнопку удаления. Тогда у вас будет все свободное место. Щелкните по пространству и просто щелкните далее. Нет необходимости в дальнейшем разделении, он сделает все сам.

-121--912013-

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

systemd-analyze blame

Это даст вам количество секунд, необходимое для каждой службы, и будет хорошей отправной точкой.

Чтобы увидеть его в графическом пути, можно использовать:

systemd-analyze plot > startup.svg

Надеюсь, это поможет.

1
ответ дан 18 March 2021 в 23:44

Другие вопросы по тегам:

Похожие вопросы: