Автор Тема: Ускорение загрузки Debian (убираем задержки из стартовых скриптов)  (Прочитано 10659 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vavun

В большинстве случаев скорость загрузки не имеет особого значения, но например в случае ноутбука или нетбука это бывает важно.

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

Так же рекомендуется сделать бэкап, на случай если система не запуститься


Цитировать
При исследовании стартового скрипта вы найдете несколько хитростей и уловок. Из них наиболее распространены «спячки» (sleeps). Да, во время загрузки дистрибутив несколько раз фактически засыпает на пару секунд, чтобы убедиться, что оборудование инициализировано и другие программы определенно заработали.

В скриптах это обозначено в виде вызовов sleep(1), утилиты командной строки, которая ничего не делает, кроме задержки выполнения на указанное время. (Откройте терминал и введите sleep 5 ; ls – список файлов будет выведен после пятисекундной паузы). Например, перед настройкой сети стартовый скрипт должен сначала убедиться, что сетевой адаптер PCMCIA/Cardbus инициализирован, и он засыпает на пару секунд, чтобы не обгонять события.

Многие из этих задержек являются излишней предосторожностью – если ваша система хорошо справляется со стандартным оборудованием, вы можете без опаски убрать их. Чтобы их найти, откройте терминал, войдите как суперпользователь (su или sudo bash) и введите

cd /etc/init.d
grep sleep *

Мы входим в каталог стартовых скриптов (/etc/init.d) перечисляем файлы, содержащие вызовы sleep (вместе с временем задержки).

По именам файлов определите, программы какого типа они запускают, затем откройте их в редакторе, найдите строки с командой sleep и удалите числа. Вряд ли стоит менять все значения на ноль, но вы спокойно можете уменьшить их вдвое (сгодится даже 0.5), перезагрузиться и проверить, что все работает нормально.

Если у вас есть время, я бы рекомендовал делать изменения в пакетном режиме, чтобы облегчить возврат к предыдущим значениям, если что-то стартует некорректно. В больших дистрибутивах, имеющих множество стартовых скриптов, сокращение задержек может привести к уменьшению времени загрузки на 10–15 секунд. И ваш дистрибутив не потребует снотворного взамен!


Сравнение: до    после
Spoiler: ShowHide


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

Лично у меня удалось выиграть 7 секунд, для ноутбука это не мало.

Источник: http://wiki.linuxformat.ru/index.php/LXF80:%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B
« Последнее редактирование: 11 Января 2012, 17:23:21 от vavun »

Do you know why we call this beta ? Because it's betta than nothing.©
Have problems with windows, reboot. Have problems with linux, be root.©
 

Оффлайн Brainey

Лучше ещё проверьте, все ли загружаемые сервисы вам нужны. Для редактирования можно использовать удобную утилитку sysv-rc-conf.
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru
 

Оффлайн vavun

Лучше ещё проверьте, все ли загружаемые сервисы вам нужны. Для редактирования можно использовать удобную утилитку sysv-rc-conf.
Кстати да, вылетело из головы, дополнил.

Do you know why we call this beta ? Because it's betta than nothing.©
Have problems with windows, reboot. Have problems with linux, be root.©
 

Оффлайн Angel_ok

Неплохо. Интересная тема.

Я бы еще порекомендовал все бэкапить, что бы можно было быстро вернуть все обратно.

grep sleep *: ShowHide
ang@debian:/etc/init.d$ grep sleep *
acpid:    sleep 1
acpi-fakekey: sleep 1
acpi-fakekey: sleep 1 # give acpi_fakekeyd a chance to disappear
alsa-utils: sleep 1
bluetooth: sleep 1
bootlogd: sleep 1
bootlogs: sleep 1
checkfs.sh: sleep 5
checkroot.sh: sleep 5
checkroot.sh: sleep 5
checkroot.sh: sleep 5
exim4:    sleep 2
fancontrol: sleep 3
hdparm:  sleep 2
hdparm:            sleep)
killprocs: sleep 1
loadcpufreq: sleep 1
mountnfs.sh: sleep 0.1
nfs-common: sleep 1
ntp: $0 stop && sleep 2 && $0 start
portmap:   sleep 1 # needs a short pause or pmap_set won't work. :(
portmap:     sleep 1 # needs a short pause or pmap_set won't work. :(
rsync:        sleep 1
rsync: sleep 1
saned: sleep 1
sendsigs: sleep 1
skeleton: # on this one.  As a last resort, sleep for some time.
skeleton: # sleep for some time.
udev:  sleep 60
vboxballoonctrl-service:        sleep .1
vboxdrv:        sleep .2
vboxdrv:        sleep $wait
vboxweb-service:        sleep .1
vnstat: sleep 1
wicd: # on this one.  As a last resort, sleep for some time.
wicd: # sleep for some time.
winbind: $0 stop && sleep 2 && $0 start

Мой ноутбук загружается чуть больше минуты.
Меня смущает строка udev:  sleep 60. Я так понимаю она срабатывает только при определенной проблеме. Так?
Значит и другие sleep тоже не всегда запускаются. Верно?
Лично у меня удалось выиграть 7 секунд, для ноутбука это не мало.
Это вы высчитали сокращенные sleep или это реальные 7 секунд?
« Последнее редактирование: 11 Января 2012, 17:31:20 от Angel_ok »
Вы думаете, всё так просто? Да, всё просто. Но совсем не так…
                                                                                                          Альберт Эйнштейн
 

Оффлайн Brainey

Spoiler: ShowHide
Кстати, спасибо, что напомнили. Раньше пользовался этим способом (sleeps), ещё когда юзал Mandriva 2007.1.  :)
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru
 

Оффлайн vavun

Неплохо. Интересная тема.

Я бы еще порекомендовал все бэкапить, что бы можно было быстро вернуть все обратно.

Спасибо, дополнил.

Spoiler: ShowHide
Кстати, спасибо, что напомнили. Раньше пользовался этим способом (sleeps), ещё когда юзал Mandriva 2007.1.  :)

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

Будьте так добры, подскажите как еще можно ускорить загрузку ? Статьи может, или личный опыт. То что обычно выдает google не дает ощутимых результатов.

Спасибо


Сообщение объединено: 11 Января 2012, 17:45:37
Мой ноутбук загружается чуть больше минуты.
Меня смущает строка udev:  sleep 60. Я так понимаю она срабатывает только при определенной проблеме. Так?
Значит и другие sleep тоже не всегда запускаются. Верно?
Лично у меня удалось выиграть 7 секунд, для ноутбука это не мало.
Это вы высчитали сокращенные sleep или это реальные 7 секунд?

Про udev пока не читал, потому и не трогал, но судя по времени задержки - да, нужны определенные условия

Про "другие sleep"
тут нужно изучить сам скрипт, есть ли в нем условия выполнения sleep, или же sleep будет выполняться в любом случае.
видимо стоит искать
if
 then
 else

Количество "кастрированных" секунд я вовсе не считал, это можно сделать только ради любопытства.
Увеличение скорости запуска определил - секундомером в мобильном, разница получилась в 6.6 .... секунд, округлилдо семи  :D так, что это реальные 7 секунд.
« Последнее редактирование: 11 Января 2012, 18:09:17 от vavun »

Do you know why we call this beta ? Because it's betta than nothing.©
Have problems with windows, reboot. Have problems with linux, be root.©
 

Оффлайн Sterios

Советую использовать программу bootchart(http://www.bootchart.org/), для анализа хода загрузки системы. Пакет для Debian доступен в репозитории sid'a.
- Harder, Better, Faster, Stronger
 

Оффлайн Brainey

подскажите как еще можно ускорить загрузку ?
Ну, вспомнилась эта статья, но сам не пробовал. Система и так грузится быстро (секунд 15-20). Меня вполне устраивает.
« Последнее редактирование: 11 Января 2012, 18:53:01 от Brainey »
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru
 

Оффлайн Malaheenee

Самый лучший путь - это "неустановка" ненужного. Зачем ставить метапакет gnome-core, когда можно ставить все по частям: aptitude -R gnome-panel metacity nautilus и т.д. Тогда и ненужного в загрузке не будет.
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн vavun

Самый лучший путь - это "неустановка" ненужного. Зачем ставить метапакет gnome-core, когда можно ставить все по частям: aptitude -R gnome-panel metacity nautilus и т.д. Тогда и ненужного в загрузке не будет.

Помню для меня когда-то
apt-get install gnome-coreвместо
apt-get install gnomeбыло большим открытием  ;D

А вообще с вами согласен, но для меня пока сложновато будет )

Сообщение объединено: 11 Января 2012, 19:02:35
Хотя, что я теряю, сегодня попробую  :D

Do you know why we call this beta ? Because it's betta than nothing.©
Have problems with windows, reboot. Have problems with linux, be root.©
 

Оффлайн Malaheenee

Пробуйте, вот вам в помощь (что мы используем):
Spoiler: ShowHide
   aptitude install bash-completion htop xfonts-base xfonts-100dpi xfonts-75dpi xfonts-scalable xserver-common xserver-xorg-video-fbdev xserver-xorg-video-vesa xserver-xorg-input-evdev xauth screen bzip2 p7zip-full zip unzip unrar ntfs-3g ntfsprogs dosfstools mtools alsa-base alsa-utils dbus policykit-1 consolekit lsb-release locate notification-daemon gnome-settings-daemon gnome-keyring gnome-screensaver gnome-screenshot gnome-system-monitor policykit-1-gnome xdg-user-dirs xdg-user-dirs-gtk gvfs gvfs-backends gvfs-fuse gnome-themes gnome-backgrounds gnome-icon-theme dmz-cursor-theme gnome-search-tool ttf-dejavu-extra ttf-dejavu-core ttf-freefont ttf-liberation eog evince totem-mozilla gnome-media freedesktop-sound-theme gucharmap gcalctool hunspell-en-us myspell-ru gnome-theme-gilouche gnome-brave-icon-theme
   aptitude install -R mc samba winbind smbfs smbclient samba-common-bin krb5-user ntp openssh-server cups-client xinit acpi-support upower udisks nautilus metacity gnome-power-manager gnome-menus gnome-session gnome-panel gdm3 gnome-terminal gnome-applets iceweasel iceweasel-l10n-ru icedove icedove-l10n-ru gedit file-roller totem gnome-user-guide
   aptitude install libreoffice-gnome libreoffice-l10n-ru libreoffice-help-ru
   aptitude install -R libreoffice

Это необходимый минимум для нас. Всяческие кодеки и прочее - по необходимости для каждой машины отдельно (см. подпись).

Еще по теме: desktop-base, добавляющий православные обои и пр. от Debian, в GRUB и gdm дает очень сильную задержку (пока эти обои подгрузятся), так что можно его и не ставить...
« Последнее редактирование: 12 Января 2012, 05:53:16 от Malaheenee »
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн vavun

Spoiler: ShowHide
Пробуйте, вот вам в помощь (что мы используем):
[spoiler]   aptitude install bash-completion htop xfonts-base xfonts-100dpi xfonts-75dpi xfonts-scalable xserver-common xserver-xorg-video-fbdev xserver-xorg-video-vesa xserver-xorg-input-evdev xauth screen bzip2 p7zip-full zip unzip unrar ntfs-3g ntfsprogs dosfstools mtools alsa-base alsa-utils dbus policykit-1 consolekit lsb-release locate notification-daemon gnome-settings-daemon gnome-keyring gnome-screensaver gnome-screenshot gnome-system-monitor policykit-1-gnome xdg-user-dirs xdg-user-dirs-gtk gvfs gvfs-backends gvfs-fuse gnome-themes gnome-backgrounds gnome-icon-theme dmz-cursor-theme gnome-search-tool ttf-dejavu-extra ttf-dejavu-core ttf-freefont ttf-liberation eog evince totem-mozilla gnome-media freedesktop-sound-theme gucharmap gcalctool hunspell-en-us myspell-ru gnome-theme-gilouche gnome-brave-icon-theme
   aptitude install -R mc samba winbind smbfs smbclient samba-common-bin krb5-user ntp openssh-server cups-client xinit acpi-support upower udisks nautilus metacity gnome-power-manager gnome-menus gnome-session gnome-panel gdm3 gnome-terminal gnome-applets iceweasel iceweasel-l10n-ru icedove icedove-l10n-ru gedit file-roller totem gnome-user-guide
   aptitude install libreoffice-gnome libreoffice-l10n-ru libreoffice-help-ru
   aptitude install -R libreoffice

Это необходимый минимум для нас. Всяческие кодеки и прочее - по необходимости для каждой машины отдельно (см. подпись).

Еще по теме: desktop-base, добавляющий православные обои и пр. от Debian, в GRUB и gdm дает очень сильную задержку (пока эти обои подгрузятся), так что можно его и не ставить...
[/quote]
Первый блин комом, как говориться  :D, скажите, а вы устанавливаете "базовые системные утилиты" и стоит ли мне ставить галочку "для ноутбука" или же лучше вручную ?
[/spoiler]

Do you know why we call this beta ? Because it's betta than nothing.©
Have problems with windows, reboot. Have problems with linux, be root.©
 

Оффлайн Malaheenee

Spoiler: ShowHide
vavun, устанавливаем базовые утилиты. Лэптоп - как хотите, где-то в вики был список пакетов для этой задачи. Можно также просмотреть при помощи tasksel (та самая галочка):
tasksel --task-packages laptop
tasksel --task-desc laptop
tasksel --list-tasks
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн Angel_ok

Выставил везде 0.5
Не помогло, даже на пару секунд дольше.
Вернул все обратно.
Видимо дело не в слипах. А жаль.
« Последнее редактирование: 13 Января 2012, 21:12:18 от Angel_ok »
Вы думаете, всё так просто? Да, всё просто. Но совсем не так…
                                                                                                          Альберт Эйнштейн
 

Оффлайн vavun

Выставил везде 0.5
Не помогло, даже на пару секунд дольше.
Вернул все обратно.
Видимо дело не в слипах. А жаль.
везде не надо, если из за слишком маленькой задержки что то не успело произойти (смотря что скрипт делает) то скрипт попробует снова это сделать, что скорости никак не прибавит.

Сообщение объединено: 13 Января 2012, 22:58:01
Могу, конечно, и ошибаться ..
« Последнее редактирование: 13 Января 2012, 22:58:01 от vavun »

Do you know why we call this beta ? Because it's betta than nothing.©
Have problems with windows, reboot. Have problems with linux, be root.©
 

Теги: