Como acelerar a inicialização realmente lenta no Ubuntu 16.04?


39

Estou tentando entender o que preciso fazer para acelerar minha inicialização com o Ubuntu 16.04. Eu executei o dmesg e salvei a saída aqui . Tudo parece dar errado após cerca de 10 segundos.


Se você olhar para o seu dmesg, poderá encontrar uma entrada como 'novas opções de montagem não correspondem ao superbloco existente'. Se assim for Google para essa seqüência e vai levar você a um bug Linux que nunca foi corrigido
— nickt

Eu não acho que estou vendo esse erro ou semelhante.
— precisa

Por que você sente que as coisas ficam ruins aos 10 segundos? Qual mensagem você acha especialmente preocupante?
— Ciro Santilli escreveu

Respostas:



29

Editar o UUID do / etc / fstab do espaço de troca (para combinar com a saída de sudo blkid) funcionou como um encanto!

Nota : Depois disso, se houver alguma entrada de troca no /etc/crypttabarquivo, você deve alterar seu segundo parâmetro para corresponder ao seu espaço de troca, seja por UUID ou caminho (por exemplo, UUID = alguma coisa ou / caminho / para / troca).

No meu SSD, a inicialização passou de 2 minutos para menos de 10 segundos.

O problema é que fiz uma atualização normal do 14.04 para o 16.04, sem mexer nas partições, quando esse problema começou. Claramente, existem alguns problemas com o procedimento de atualização.


Obrigado, isso me ajudou muito: para fins de teste, eu havia trocado um caddy removível, sem problemas de inicialização quando o disco não estava lá no 14.04, no 16.04 o boot demorava 1 ou 2 minutos a mais. Parece que o kernel 3 foi mais rápido que o kernel 4 quando não fundou a troca.
— Emmanuel

Obrigado. você economizou muito tempo. Eu também estava atualizando o sistema a partir do 14.04, então esse problema ocorreu.
— Paladin

Obrigado, eu tive o mesmo problema com a troca incorreta UUID, uma vez que o texto foi alterado para corresponder blkid demorou um tempo de inicialização longo de cerca de 60 segundos para apenas 5 segundos
— Brandon Søren Culley

2
Procure em askubuntu.com/questions/38533/… resposta para obter mais informações sobre como fazê-lo. Reduzi meu tempo de inicialização de mais de 100 segundos para 15. #
— Dmitry

sim, atualize para 17.10, mas meu swap uuid corresponde ao resultado de "blkid"
— Vasil Valchev

10

Corri para o mesmo problema de maior tempo de inicialização após a atualização.

Qual era o problema? Eu havia excluído meu espaço de troca, portanto meu arquivo / etc / fstab e o novo sistema de arquivos estavam em conflito. O carregador de inicialização esperou quase 1m 30s para encontrá-lo.

Como resolvi o problema Execute sudo blkid

Abra seu arquivo / etc / fstab e compare a correspondência do uuid com as partições que você possui. Se houver incompatibilidade, altere isso e reinicie.


A dmesgsaída na pergunta mostra que o OP tem um problema diferente.
— Byte Commander

9

É uma solução alternativa, mas isso reduziu significativamente meu tempo de inicialização (de 1 minuto 24s para 16s).

sudo vim /etc/systemd/system.conf

Remova o comentário desses dois parâmetros e defina o tempo limite desejado:

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s

Nota: Otimize esses valores para corresponder às suas necessidades de hardware ~ 5 - 60s.

Como discutido aqui esses parâmetros configurar os tempos limite padrão para iniciar e parar de unidades, bem como o tempo padrão de sono entre as reinicializações automáticas de unidades, conforme configurado por unidade em TimeoutStartSec=, TimeoutStopSec=e RestartSec=(para serviços, consulte systemd.service (5) para detalhes sobre as configurações por unidade).

Para unidades fora de serviço, DefaultTimeoutStartSec=define o padrão TimeoutSec= value. DefaultTimeoutStartSec=e o DefaultTimeoutStopSec=padrão é 90s. DefaultRestartSec=o padrão é 100ms.


Editar - Mais detalhadamente:

Analisei a sequência de inicialização com a systemd-analyze plot > sequence.svgque mostrava os serviços falhando ao iniciar no meu sistema operacional atualizado recentemente. Havia três - um era um daemon sendmail mal configurado e, em seguida, powerd.service e NetworkManager-wait-online.service . Como não é uma boa ideia desabilitar completamente o serviço NetworkManager, deixo o tempo limite expirar após 10 segundos e aplico essa regra globalmente.


2
Você poderia expandir como essa solução reduziu o tempo de inicialização em 68 segundos?
— Elder Geek

Sem probs, divirta-se!
— Mirek

ele não funciona para mim, pois após aplicar as alterações, meu tempo de inicialização passou de 52 para 57 segundos.
— Woitg 07/11

11
10s é muito baixo. Pode fazer a inicialização no modo de recuperação. Estou usando 30s
— Anwar

O 10s interrompeu minha inicialização em 18.04. Agora reparando o Ubuntu no modo de recuperação.
— Pasupathi

1

Isto pode estar relacionado a problemas do sistema de arquivos. Você pode verificar este link para ver se a reparação do sistema de arquivos melhora o tempo de inicialização: https://help.ubuntu.com/community/FilesystemTrou Resolução de problemas


Hmm. agora parece estar [mais longo!] ( pastebin.com/a5g4wHvA ) Parece que dá errado após cerca de 30 segundos. "eth0: link não está pronto" "nf_conntrack: Atribuição ajudante automático é obsoleto e será removido em breve Use o iptables alvo de CT para anexar ajudantes vez".
— Packwood

0

Eu tive um problema semelhante que acabei de resolver: executo o Ubuntu 16.04 em um SSD. Eu uso uma unidade flash como partição swap. A unidade foi acidentalmente movida levemente e levou mais de 3 minutos para inicializar. Coloquei de volta corretamente e agora está tudo bem. Caso você tenha experimentado smartctl ou fsck e seu sistema de arquivos esteja em ordem, tente remover as unidades flash (ou outros periféricos?) E veja como ele funciona. Boa sorte!


0

Com base na sua saída pastebin, algumas coisas surgem para mim:

EXT4-fs (sda5): re-mounted

Você pode querer fsck este volume e dar uma olhada no Smart Data para essa unidade.

e

[   31.022220] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.720952] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.761548] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

Você pode tentar desativar o IPV6 nas suas conexões de rede se a sua conexão não suportar.


0

Dica do usuário536489 a seguir:

culpa systemd-analyse

Verifique se existe um serviço que demora muito para iniciar e defina um tempo limite mais baixo:

sudo vim /lib/systemd/system/networking.service

Mude TimeoutStartSecpara algo como 10s. A página do manual indica um valor sem unidade em segundos ou um valor de intervalo de tempo como "5min 20s". Passe "infinito" para desativar a lógica de tempo limite.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.