Scripts desacelerando a inicialização

3

Inspirado no vídeo "Quão rápido", recentemente tentei acelerar a inicialização o máximo possível.

Eu tenho lido muitos fóruns sobre diferentes abordagens, mas recentemente encontrei um problema específico. Eu liguei boot verbose, e tudo parece passar por incrivelmente rápido, exceto em um ponto, faz uma pausa por cerca de dez segundos em algo que se parece com:

'Begin running /scripts/init/bottom.... done'

Existe uma razão pela qual ele está parando nesse ponto em particular por tanto tempo? Ele exibe "concluído" quase imediatamente. Para o registro, é uma nova instalação.

Qualquer ajuda seria muito apreciada.

Eu exibi os scripts que foram executados na inicialização com

initctl list

Os resultados foram:

-avahi-daemon start/running, process 858 -mountall-net stop/waiting -nmbd start/running, process 24028 -rc stop/waiting -rsyslog start/running, process 846 -tty4 start/running, process 941 -udev start/running, process 335 -upstart-udev-bridge start/running, process 331 -ureadahead-other stop/waiting -whoopsie start/running, process 1024 -apport start/running -console-setup stop/waiting -hwclock-save stop/waiting -irqbalance start/running, process 1027 -plymouth-log stop/waiting -smbd start/running, process 801 -tty5 start/running, process 948 -failsafe stop/waiting -hybrid-gfx stop/waiting -modemmanager start/running, process 830 -rfkill-store stop/waiting -atd start/running, process 1025 -dbus start/running, process 809 -failsafe-x stop/waiting -mounted-var stop/waiting -plymouth stop/waiting -resolvconf start/running -udev-fallback-graphics stop/waiting -control-alt-delete stop/waiting -hwclock stop/waiting -mounted-proc stop/waiting -network-manager start/running, process 841 -alsa-store stop/waiting -module-init-tools stop/waiting -setvtrgb stop/waiting -shutdown stop/waiting -alsa-restore stop/waiting -cron start/running, process 1026 -lightdm start/running, process 1166 -mountall stop/waiting -mounted-debugfs stop/waiting -binfmt-support stop/waiting -console stop/waiting -mounted-run stop/waiting -acpid start/running, process 1009 -bluetooth start/running, process 832 -plymouth-stop stop/waiting -rcS stop/waiting -ufw start/running -wait-for-state stop/waiting -flush-early-job-log stop/waiting -friendly-recovery stop/waiting -rc-sysinit stop/waiting -cups start/running, process 900 -upstart-socket-bridge start/running, process 699 -anacron stop/waiting -tty2 start/running, process 969 -udevtrigger stop/waiting -container-detect stop/waiting -mounted-dev stop/waiting -tty3 start/running, process 974 -udev-finish stop/waiting -hostname stop/waiting -mountall-reboot stop/waiting -mountall-shell stop/waiting -mounted-tmp stop/waiting -network-interface (lo) start/running -network-interface (eth0) start/running -network-interface (eth1) start/running -plymouth-splash stop/waiting -plymouth-upstart-bridge stop/waiting -tty1 start/running, process 2021 -udevmonitor stop/waiting -dmesg stop/waiting -network-interface-security (network-manager) start/running -network-interface-security (network-interface/eth1) start/running -network-interface-security (network-interface/eth0) start/running -network-interface-security (network-interface/lo) start/running -network-interface-security (networking) start/running -networking stop/waiting -procps stop/waiting -rfkill-restore stop/waiting -tty6 start/running, process 977 -network-interface-container stop/waiting -ureadahead stop/waiting

Desculpe, mas não consegui copiar o bit exato do código em que estava preso, pesquisei os arquivos de log em / var / log por meio da função "Localizar", mas até agora não consegui encontre qualquer coisa.

Eu encontrei muitos arquivos de log de inicialização diferentes, mas nenhum que mostre / init / bottom eu mencionei acima.

    
por Billy 18.08.2012 / 07:43

1 resposta

2

O que você está vendo são os últimos bits de manutenção antes de girar do initramfs para a raiz real e começar a inicializar coisas reais.

Você pode ver este ponto em /usr/share/initramfs-tools/init

run_scripts /scripts/init-bottom
[ "$quiet" != "y" ] && log_end_msg

Esse log_end_msg é seu '... pronto', então, depois disso, é onde você provavelmente está vendo um atraso. É tudo muito leve. Principalmente apenas movendo coisas globais como / sys e / proc para o root real fs e então apenas executando o init. Também é possível que o init tenha sido executado, e você está no ponto de 'startup', e agora você está acordando seus discos para montá-los, e acompanhando todos os eventos do udev que você pode ter perdido enquanto o rootfs foi dinamizado .

Se você ainda não experimentou o bootchart, vale a pena dar uma olhada. Apenas sudo apt-get install bootchart . Isso deve dizer muito sobre o que o sistema está gastando seu tempo durante a inicialização.

    
por SpamapS 07.01.2013 / 18:36