Inicialização lenta, tempo de carregamento longo do kernel, devido a um dispositivo de currículo errado

20

Por algum tempo, meu processo de inicialização está demorando muito (quase 1 min.).

systemd-analyse time 

mostra que o kernel está tirando 35.765s

Olhando para dmesg , parece que o problema é com sistemas de arquivos de montagem:

...
[    2.186084]  sdb: sdb1 sdb9
[    2.186919] sd 2:0:0:0: [sdb] supports TCG Opal
[    2.186922] sd 2:0:0:0: [sdb] Attached SCSI disk
[    2.499795] ata5: SATA link down (SStatus 0 SControl 300)
[    2.844320] clocksource: Switched to clocksource tsc
[   35.670493] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
[   35.782128] ip_tables: (C) 2000-2006 Netfilter Core Team
[   35.803610] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
...

Meu /etc/fstab é assim:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=3996-2381  /boot/efi       vfat    umask=0077      0       1
#/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

Como posso resolver isso?

EDIT: olhando de perto as mensagens de boot (depois de remover a opção silenciosa no grub), vi uma linha suspeita:

gave up waiting for suspend/resume device

Acho que minha troca é criptografada e também acho que o UUID em /etc/initramfs/conf.d/resume não corresponde a nenhum dispositivo.

Devo desativar o currículo / suspender? e como fazer isso?

    
por alci 11.03.2018 / 09:42

1 resposta

25

Ok, eu encontrei a solução, graças ao comentário do Sudhanshu.

O problema foi devido a minha troca ser criptografada. Portanto, o script local-premount no initramfs estava aguardando por um dispositivo de troca que não estava disponível até que o tempo limite expirasse. A mensagem relevante foi gave up waiting for suspend/resume device .

Para desabilitar isso (como não é possível retomar a partir da troca com uma troca criptografada, e eu não uso a hibernação de qualquer maneira), eu modifiquei este arquivo: /etc/initramfs-tools/conf.d/resume . Neste arquivo, uma linha com RESUME=none (em vez do UUID que estava aqui) desativará a espera por um dispositivo de currículo.

Execute sudo update-initramfs -u para aplicar as alterações.

O sistema agora inicializa normalmente.

    
por alci 11.03.2018 / 18:36