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:
44
Você pode tentar descobrir o que está demorando mais com o systemd
Sim e depois? preciso interromper a execução de alguns serviços?
mohammed amine bourkadi 18/09/16
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.
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.
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!
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.
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.
Respostas:
Você pode tentar descobrir o que está demorando mais com o systemd
fonte
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/crypttab
arquivo, 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.
fonte
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.
fonte
dmesg
saída na pergunta mostra que o OP tem um problema diferente.É uma solução alternativa, mas isso reduziu significativamente meu tempo de inicialização (de 1 minuto 24s para 16s).
Remova o comentário desses dois parâmetros e defina o tempo limite desejado:
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=
eRestartSec=
(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ãoTimeoutSec= value
.DefaultTimeoutStartSec=
e oDefaultTimeoutStopSec=
padrão é 90s.DefaultRestartSec=
o padrão é 100ms.Editar - Mais detalhadamente:
Analisei a sequência de inicialização com a
systemd-analyze plot > sequence.svg
que 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.fonte
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
fonte
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!
fonte
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
Você pode tentar desativar o IPV6 nas suas conexões de rede se a sua conexão não suportar.
fonte
Dica do usuário536489 a seguir:
Verifique se existe um serviço que demora muito para iniciar e defina um tempo limite mais baixo:
Mude
TimeoutStartSec
para algo como10s
. 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.fonte