Posso forçar o Linux a inicializar suas inicializações paralelamente? [fechadas]

2

Eu queria saber se eu poderia inicializar drivers, serviços, etc. (todos esses trabalhos que o Linux faz durante a inicialização) em paralelo, em vez de sequencialmente. Eu quero reduzir agressivamente o tempo de inicialização. Eu sei que alguns serviços dependem uns dos outros, mas para facilitar um exemplo: durante a análise dos dispositivos de rede, ele também cuidará do áudio, em vez de aguardar 10 s até que a rede esteja pronta.

Eu ouvi falar de conceitos como systemd e InitNG , mas tenho certeza que tem que haver outros métodos. Não existe uma opção ou sinalizador para o próprio kernel inicializar desta forma?

    
por user3085931 21.01.2014 / 13:39

1 resposta

2

Veja a variável CONCURRENCY em /etc/init.d/rc , você tem várias opções.
Quando definido como makefile , o processo init faz isso em paralelo.

Existem comentários diferentes dependendo da sua distribuição:

#
# Check if we are able to use make like booting.  It require the
# insserv package to be enabled. Boot concurrency also requires
# startpar to be installed.
#
CONCURRENCY=makefile
# Specify method used to enable concurrent init.d scripts.
# Valid options are 'none' and 'makefile'.  Obsolete options
# used earlier are 'shell' and 'startpar'.  The obsolete options
# are aliases for 'makefile' since 2010-05-14.  The default since
# the same date is 'makefile', as the init.d scripts in Debian now
# include dependency information and are ordered using this
# information.  See insserv for information on dependency based
# boot sequencing.
#CONCURRENCY=makefile
CONCURRENCY=none

Veja também a linha no seu script init :

eval "$(startpar -p 4 -t 20 -T 3 -M $1 -P $previous -R $runlevel)"

Veja também man startpar

Boa dica do Timo: O pacote Bootchart permite visualizar seu processo de inicialização.

Boas leituras: init , SysV , História

[editar]

Muitas vezes é difícil usar o bootchart, então aqui um howto:

Micro-tutorial do bootchart

  • instale o apt-get install bootchart2 pybootchartgui
  • reinicializar
  • na tela de inicialização do grub, pressione e para edição. em seguida, encontre a linha com os parâmetros de inicialização do kernel e adicione init=/sbin/bootchartd
  • pressione F10 para inicialização
  • depois que o sistema operacional estiver ativo e em execução, abra uma janela de terminal e execute sudo pybootchartgui
  • você encontrará seu bootchart.png no diretório de trabalho
por 21.01.2014 / 15:34