MeuGentoosistema comInicialização OpenRCdemora muito para iniciar, cerca de 24 segundos (medidos a partirGRUBparaGDM). Eu queria saber se há alguma maneira recomendada de melhorar esse tempo. Mas não há muito sobre esse assunto na internet, o que encontrei.
Tenho um Intel Core i5-6400 e um Samsung SSD 970 EVO Plus 500GB.
Responder1
Todo mundo adora inicializações rápidas do sistema, especialmente em um computador desktop usado diariamente. 24 segundos é um tempo de inicialização bastante lento e consegui reduzi-lo para9 segundos.
Vou te mostrar algumas dicas, sem precisar mexer no seu kernel.
/etc/rc.conf
Vamos começar com o arquivo de configuração do OpenRC. Existe uma opção chamada rc_parallel
. Por padrão, os serviços são iniciados um por um e quando algum serviço demora mais, atrasa outros. A configuração rc_parallel="YES"
permite que o sistema RC tente iniciar serviços em paralelo para obter uma ligeira melhoria na velocidade. No meu caso, foram -5 segundos.
A também teve que definir rc_send_sighup="YES"
, rc_timeout_stopsec="10"
, rc_send_sigkill="YES"
, porque o serviço xdmnão queria pararenquanto desliga o sistema.
serviço rc, atualização rc
Outra coisa importante é saber quais serviços estão realmente iniciando. Essa é a saída que você vê durante a inicialização. Se você quiserregistre esta saída, definido rc_logger="YES"
no /etc/rc.conf
arquivo. Você pode encontrar aqui horários exatos, mensagens de aviso ou erros.
Os serviços são divididos nos chamadosníveis de execução, que significa o período em que esses serviços são iniciados. Existem dois níveis de execução envolvidos na inicialização do sistema. boot
e default
.
Você pode listar todos os serviços e seus níveis de execução com o comando: rc-update show
.
Ou você pode listar todos os serviços em execução e interrompidos com:rc-status --servicelist
No meu caso, encontrei alguns serviços desnecessários que poderia desabilitar com segurança. Por exemplo bluetooth
, netmount
ou net.enp0s31f6
serviço para configurar minha interface de rede. Foi ativado mesmo que eu use NetworkManager
o serviço. Eu não precisava desses serviços e consegui mais 10 segundos desativando-os.
Você pode desabilitar o serviço em um nível de execução específico com o comando: rc-update del <service> <runlevel>
.
Sempreverificar o que um determinado serviço faz, antes de desativá-lo. Você pode acabar com um sistema quebrado.
Espero que isso possa ajudar alguém e economizar um pouco de tempo que gastei.
Responder2
Tente instalar app-shells/dash
o pacote e, em seguida, faça com que o /bin/sh
link simbólico aponte para dash
. Este último pode ser feito manualmente ou com o eselect sh
subcomando.
A primeira distro que fez isso por padrão foi o Ubuntu há mais de 10 anos (IIRC) e fez uma diferença maior do que tentar executar o initscript em paralelo, como recomenda a outra resposta.