Inicialização lenta no Ubuntu 16.04 com o Samsung 850 Pro

10

Atualização 9

Eu decidi tentar um experimento. Eu removi o SSD da minha área de trabalho e coloquei-o temporariamente no meu laptop Dell Latitude. E eis que carregou o initrd em uma ordem de grandeza mais rápida, cortando 6 segundos do tempo de inicialização ...

Estou um pouco confuso agora ... talvez o GRUB tenha um problema com o chipset da minha placa-mãe?

Atualização 8

Então notei algo interessante sobre a luz de atividade do disco rígido. Ao carregar o initrd , é quase como se a luz estivesse sendo PWM em um ciclo de trabalho de 10% ou algo assim. Isso me faz pensar se a leitura do GRUB não está otimizada, talvez algo como se estivesse fazendo uma chamada do SO para ler cada byte em vez de ler a imagem como um fluxo de bytes?

Atualização 7

Parece que o carregamento do ramdisk inicial é uma grande parte do problema.

Dentro do GRUB, eu pressionei C para o prompt de comando manual. Em seguida, comecei a digitar cada linha da minha configuração padrão em um de cada vez (a inserção desses UUIDs era dolorosa!) e observei o tempo que o comando levou na conclusão. Aqui está o que eu encontrei:

  • A maioria dos comandos foi concluída instantaneamente
  • O comando para carregar o kernel demorou cerca de um segundo
  • O comando para carregar o ramdisk inicial levou 7 segundos

Depois de digitar todas as linhas do arquivo de configuração, prossigo para executar boot . Desde o momento em que apertei, entre na hora em que a tela de login apareceu, demorou cerca de 7,5 segundos.

De interesse é o fato de que a imagem do initrd que está carregando é de 36MB. Então, se demorou 7 segundos para carregar, então é só ler a 5MB / seg!

A luz de atividade do disco na minha torre permanece ligada durante 7 segundos inteiros ...

Veja também um interessante snippet da página da Wikipédia sobre o initrd :

  

Outras distribuições Linux (como Fedora e Ubuntu) geram mais   imagem initrd genérica. Estes começam apenas com o nome do dispositivo do   sistema de arquivos raiz (ou seu UUID) e deve descobrir todo o resto   tempo de inicialização. Neste caso, o software deve executar uma cascata complexa   de tarefas para obter o sistema de arquivos raiz montado

Atualização 6

Nathan Osman solicitou o tempo de inicialização no modo de usuário único no bate-papo.

A partir do momento em que atingi F10 no GRUB até o momento em que o prompt aparece, leva 13 segundos.

Além disso, eu estava conversando com Zanna e Rinzwind no bate-papo e os dois têm uma inicialização de 8 segundos a partir do momento em que o botão liga / desliga é acionado. Meus 20 segundos são do GRUB. Se eu contasse o horário do POST, seria ainda mais longo!

Atualização 5

O Ubuntu pode ler meu SSD na sua velocidade máxima de 550MB / seg ...

Atualização 4

Então eu removi os parâmetros quiet splash $vt_handoff do comando de inicialização do GRUB no meu laptop (lembre-se de que este laptop não tem um SSD) , e notei uma coisa muito interessante durante a seqüência de inicialização :

Ele trava nessa linha por 15 segundos:

[    4.374390] init: plymouth-upstart-bridge respawnng too fast, stopped

Aqui está uma imagem (de baixa qualidade):

Não sei qual é o significado disso ...

Atualização 3

Eu calculei o tempo de inicialização de uma das minhas outras máquinas executando 14.04 (lembre-se de que essa máquina não tem SSD) e, a partir do momento em que eu digitava, inseri o GRUB até a tela de login ser exibida para cima, leva 40 segundos.

Depois de apertar enter, ele fica na mesma tela roxa por 20 segundos, após o que a animação do Ubuntu carrega e são necessários mais 20 segundos antes de chegar na tela de login.

Eu olhei para a saída de dmesg , mas não consigo dizer onde ela terminou a inicialização. Eu acho que terminou em 25 segundos. Aqui estão as últimas linhas:

[   24.916824] wlan0: associated
[   24.916852] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   25.215550] init: kdm main process (869) killed by TERM signal
[   25.441216] vboxdrv: module verification failed: signature and/or  required key missing - tainting kernel
[   25.445587] vboxdrv: Found 2 processor cores.
[   25.446142] vboxdrv: fAsync=0 offMin=0x18c offMax=0x960
[   25.446228] vboxdrv: TSC mode is 'synchronous', kernel timer mode is 'normal'.
[   25.446230] vboxdrv: Successfully loaded version 4.3.36_Ubuntu (interface 0x001a000b).
[   25.476940] vboxpci: IOMMU not found (not registered)
[   33.174926] init: plymouth-upstart-bridge main process ended, respawning
[   36.495811] init: anacron main process (933) killed by TERM signal

Se eu interpretei corretamente, parece ser um problema universal do GRUB.

Atualização 2

Eu pude confirmar que é um problema do GRUB definindo a cor de fundo do GRUB para verde usando a linha de comando acessada pressionando C quando estiver no GRUB.

Quando eu aperto, eu recebo uma tela verde em branco por ~ 15 segundos antes que a animação de inicialização do Ubuntu seja carregada ...

Atualizar

Acho que o problema é que o GRUB está demorando muito para carregar a imagem do kernel.

Pergunta

Instalei o Ubuntu 16.04 no meu Samsung 850 Pro 512GB SSD e não consigo entender por que meu tempo de inicialização é de 20 segundos. (A partir do momento que eu entrei no GRUB). Tenha em mente que o 20 que estou fazendo referência é 17 na tela de login e, em seguida, mais 3 na área de trabalho)

Além disso, não tenho certeza se isso é relevante ou não, mas:

  • O Ubuntu está instalado no modo MBR, porque eu desprezo o UEFI.
  • Eu tenho os drivers proprietários da Nvidia instalados

Olhando para a imagem gerada por systemd-analyze plot > bootimage2 , minha startup aparentemente levou 3 segundos?

  

E olhando para dmesg , minha startup aparentemente levou 4 segundos. Mas eu fiz o tempo com meu cronômetro e levou 20 segundos! (Não incluindo o tempo do POST) Novamente, lembre-se de que o 20 que estou fazendo referência é 17 na tela de login e outro 3 para o ambiente de trabalho)

Veja como está a sequência de inicialização:

  • POST
  • cargas do GRUB
  • Eu começo meu cronômetro enquanto pressiono ENTER
  • Eu recebo uma tela roxa em branco por ~ 15 segundos
  • vejo a animação de inicialização do Ubuntu por dois segundos
  • chego na tela de login
  • paro o cronômetro
  • insiro minha senha, pressiono enter e inicio meu cronômetro novamente.
  • Após 3 segundos, aterrisso na área de trabalho
  • Eu paro meu cronômetro novamente.

Esta é a saída completa do link dmesg :

E aqui estão as primeiras linhas da saída de systemd-analyze blame :

   365ms dev-sda5.device
   327ms networking.service
   287ms accounts-daemon.service
   286ms ModemManager.service
   233ms systemd-logind.service
   216ms apport.service
   213ms grub-common.service
   209ms ondemand.service
   200ms irqbalance.service
   183ms speech-dispatcher.service
   178ms apparmor.service
   160ms gpu-manager.service
   148ms thermald.service
   148ms pppd-dns.service
   146ms systemd-user-sessions.service
   142ms alsa-restore.service
   140ms console-setup.service
   137ms rsyslog.service
   105ms NetworkManager.service
   104ms upower.service
   102ms avahi-daemon.service
   100ms systemd-udev-trigger.service

Essas pessoas têm o mesmo problema:

Alguma idéia?

    
por Android Dev 08.02.2017 / 17:18

1 resposta

1

Se o GRUB não estiver no SSD (que deve ser configurado corretamente durante a instalação), basta usar o SSD para reconhecer o GRUB, mas isso não diminuirá o tempo de inicialização, na verdade, exatamente o oposto. O que você deve fazer é fazer o computador inicializar a partir do SSD, alterando a ordem de inicialização do BIOS. Observe que você também precisa reinstalar o GRUB no SSD. Embora em alguns casos, como o meu laptop, você não possa selecionar o SSD como o dispositivo de inicialização do BIOS, então você está preso ao HDD, ao carregar a RAM e ao SSD.

Isso também é o que eu acho que acontece, mas eu não conheço totalmente a configuração do seu laptop ou desktop, então isso é tudo que posso ajudar.

Espero que isso ajude. :)

    
por Mihail Mihov 24.05.2017 / 21:56