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

9

Atualização 9

Eu decidi tentar um experimento. Eu removi o SSD da minha área de trabalho e coloquei temporariamente no meu laptop Dell Latitude. Eis que ele carregou a initrdordem de magnitude mais rapidamente, reduzindo 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 PWMed 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 uma chamada do SO para ler cada byte em vez de ler a imagem como um fluxo de bytes?

insira a descrição da imagem aqui

Atualização 7

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

Dentro do GRUB, pressionei Co prompt de comando manual. Em seguida, comecei a digitar todas as linhas da minha configuração padrão, uma de cada vez (inserir esses UUIDs foi doloroso!) E observei o tempo que o comando levou para ser concluído. Aqui está o que eu encontrei:

  • A maioria dos comandos foi concluída instantaneamente
  • O comando para carregar o kernel levou 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, continuo executando boot. Desde o momento em que apertei enter, até a tela de login aparecer, demorou cerca de 7,5 segundos.

Interessante é o fato de a imagem initrd que está sendo carregada ter 36 MB. Então, se demorou 7 segundos para carregar, então está lendo apenas a 5 MB / s!

A luz de atividade do disco na minha torre permanece acesa por 7 segundos inteiros ...

Aqui também está um trecho interessante da página da Wikipedia sobre initrd :

Outras distribuições Linux (como Fedora e Ubuntu) geram uma imagem initrd mais genérica. Eles começam apenas com o nome do dispositivo do sistema de arquivos raiz (ou seu UUID) e devem descobrir tudo o mais no momento da inicialização. Nesse caso, o software deve executar uma cascata complexa de tarefas para montar o sistema de arquivos raiz

Atualização 6

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

Desde o momento em que bati F10no GRUB até o momento em que o prompt aparece, leva 13 segundos.

Além disso, eu estava conversando com Zanna e Rinzwind no chat e os dois têm uma inicialização de 8 segundos a partir do momento em que o botão de energia foi pressionado. Meus 20 segundos são do GRUB. Se eu contasse o tempo do POST, seria ainda mais longo!

Atualização 5

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

insira a descrição da imagem aqui

Atualização 4

Portanto, removi os quiet splash $vt_handoffparâmetros do comando de inicialização do GRUB no meu laptop (lembre-se de que este laptop não possui um SSD) e notei uma coisa muito interessante durante a sequência de inicialização:

Ele fica nessa linha por 15 segundos:

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

Aqui está uma foto (de baixa qualidade):

insira a descrição da imagem aqui

Não tenho certeza qual é o significado disso ...


Atualização 3

Programei o tempo de inicialização de uma das minhas outras máquinas executando a versão 14.04 (lembre-se de que esta máquina não possui um SSD) e, desde o momento em que pressione Enter no GRUB até a tela de login aparecer, leva 40 segundos.

Depois de pressionar enter, fica na mesma tela roxa em branco por 20 segundos, após o qual a animação do Ubuntu é carregada e leva mais 20 segundos antes de aterrissar na tela de login.

Eu olhei para a saída de dmesg, mas não sei 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 a interpretei corretamente, parece ser um problema universal do GRUB.


Atualização 2

Consegui confirmar que é um problema do GRUB definindo a cor de fundo do GRUB para verde usando a linha de comando acessada pressionando Cquando no GRUB.

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


Atualizar

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


Questão

Instalei o Ubuntu 16.04 no meu SSD Samsung 850 Pro 512GB e não consigo entender por que meu tempo de inicialização é de 20 segundos. (A partir do momento em que apertei enter no GRUB). Lembre-se de que os 20 que estou referenciando são 17 na tela de login e outros 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 detesto o UEFI.
  • Eu tenho os drivers proprietários da Nvidia instalados

Olhando para a imagem gerada porsystemd-analyze plot > bootimage2 , minha inicialização aparentemente levou 3 segundos?

insira a descrição da imagem aqui

E, olhando dmesg, minha inicialização aparentemente levou 4 segundos. Mas eu cronometrei com meu cronômetro e levou 20 segundos! (Não incluindo a hora do POST) Novamente, lembre-se de que os 20 que estou referenciando são 17 na tela de login e outros 3 na área de trabalho)

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

  • POSTAR
  • Cargas do GRUB
  • Inicio meu cronômetro ao pressionar ENTER
  • Recebo uma tela roxa em branco por ~ 15 segundos
  • Eu vejo a animação de inicialização do Ubuntu por dois segundos
  • Eu pouso na tela de login
  • Eu paro o cronômetro
  • Eu digito minha senha, pressiono enter e inicio meu cronômetro novamente.
  • Após 3 segundos, aterro na área de trabalho
  • Paro meu cronômetro novamente.

Aqui está a saída completa de dmesg: http://paste.ubuntu.com/23955108/

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 ideia?

Você éAGitForNotUsingGit
fonte
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Thomas Ward
Eu também postou uma pergunta na inicialização lenta, mas ela se foi de 29 segundos para 15 segundos, que é agora aceitável para um lento Kingfast mSATA III SSD em um ônibus Sata II: askubuntu.com/questions/864277/...
WinEunuuchs2Unix
@ WinEunuuchs2Unix - Como você conseguiu que o GRUB lhe dissesse quando foi feito o carregamento do initramfs?
You'reAGitForNotUsingGit
@AndroidDev Eu não fiz nada de especial além de configurar o gráfico de inicialização e usar systemd-analyze blame. A parte estranha é que o Grub ficou preso ao "carregar o disco ram inicial" por cerca de 10 segundos, quando deveria ser uma fração de segundo devido ao tamanho do arquivo. Então o atraso acabou. Talvez tenha sido uma atualização do kernel? Talvez as mudanças que fiz plymouthdnão tenham certeza.
WinEunuuchs2Unix 14/02
Você tentou descer o plymouth -... um pouco? O SSD pode ser muito rápido; ^) Veja unrelatedshit.com/2014/07/30/…
ubfan1

Respostas:

1

Se o GRUB não estiver no SSD (o que deveria ser configurado corretamente durante a instalação), basta que o SSD demore um tempo para reconhecê-lo, mas não diminuirá o tempo de inicialização, na verdade exatamente o oposto. O que você deve fazer é iniciar o computador 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, você está preso no HDD, no carregamento da RAM e no SSD.

Também é isso que acho que acontece, mas não conheço completamente a configuração do seu laptop ou desktop, então é com isso que posso ajudar.

Espero que isto ajude. :)

Mihail Mihov
fonte
O GRUB está no SSD.
You'reAGitForNotUsingGit