Inicialização lenta do Ubuntu 16.04 (apt-daily.service)

42

Minha bota é terrivelmente lenta e não sei por quê.

$ systemd-analyze 
Startup finished in 10.975s (kernel) + 49.732s (userspace) = 1min 708ms
$ systemd-analyze blame 
         34.971s apt-daily.service
         20.590s snapd.refresh.service
         17.113s grub-common.service
         16.033s apport.service
         16.027s networking.service
         15.894s ondemand.service
         15.860s irqbalance.service
         15.655s speech-dispatcher.service
         11.695s ModemManager.service
          9.772s accounts-daemon.service
          8.626s NetworkManager-wait-online.service
          8.058s systemd-logind.service
          8.053s bluetooth.service
          7.944s gpu-manager.service
          7.896s alsa-restore.service
          7.892s pppd-dns.service
          7.882s rsyslog.service
          7.860s avahi-daemon.service
          7.844s dev-sda1.device
          7.842s systemd-user-sessions.service
          7.648s lightdm.service
          7.610s teamviewerd.service
          6.445s apparmor.service

Além disso, durante a inicialização, vejo uma mensagem que diz algo como:

device descriptor read/all, error -62
ata1 softreset failed (device not ready) #most of the times
error loading journal #(sometimes)
Test WP failed, assume Write Enabled
Asking for cache data failed     #most of the times
Assuming drive cache: write through

O apt-daily.service retarda mais a inicialização. Alguma idéia de como lidar com isso?

Eu tenho o Ubuntu MATE 16.04.

Ashwin Kumar k
fonte
Eu tive esse mesmo problema . Você pode ver nesse link que retirei tanto para acelerar, que estava causando problemas. Mudei para o Ubuntu Gnome 14.04 e tem sido extremamente rápido desde então e passou da inicialização em 55 segundos para 20 segundos. Depois de mudar para SSD, ele é inicializado em cerca de 4 segundos.
Dorian
Isso costumava acontecer comigo, mas quando você instala o Ubuntu pela primeira vez, você tem a opção de dividir seu disco rígido. Isso é muito útil também para pessoas que têm pouca memória RAM. Existem outras maneiras. Veja este link. help.ubuntu.com/stable/ubuntu-help/disk-partitions.html Tenho 1 GB para inicializar no meu disco rígido e funciona muito rapidamente. Espero que ajude!
schung

Respostas:

43

Esse é o bug do Debian # 844453 . apt-daily.servicenão deve ser executado durante a inicialização, mas apenas algum tempo depois.

Como solução alternativa, faça sudo systemctl edit apt-daily.timere cole o seguinte texto na janela do editor:

# apt-daily timer configuration override
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
AccuracySec=1h
RandomizedDelaySec=30min

Isso altera o "timer" que dispara apt-daily.servicepara executar em um tempo aleatório entre 15 e 45 minutos após a inicialização e uma vez por dia depois. Veja a página de manual systemd.timer para uma explicação adicional (não muito bem escrita, infelizmente) do que isso significa.

zwol
fonte
Isso se aplica a algum dos serviços listados pelo systemd-analyze blamecomando?
Muhammad Gelbana 21/10
@MuhammadGelbana Não entendo o que você está tentando me perguntar.
Zwol
1
Estou perguntando se posso executar um comando semelhante, como sudo systemctl edit snapd.refresh.timer e adicionar o mesmo texto que você postou na sua resposta para substituir a configuração do timer para snapd.refresh?
Muhammad Gelbana 22/10
Deve funcionar para qualquer coisa que seja realmente um "timer", sim, mas não para serviços arbitrários iniciados na inicialização.
Zwol
3

A outra resposta aborda o segundo bloco de texto na pergunta.

Para mim, para resolver apt-daily.servicedemorando uma eternidade, este post nos Fóruns do Ubuntu parece ter funcionado.

emita esses comandos como um exemplo de como editar /etc/systemd/system.conf

sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.bak 

Isso fará um backup da segurança.

gksudo gedit /etc/systemd/system.conf 

Procure e altere estas 2 linhas:

#DefaultTimeoutStartSec=90s
#DefaultTimeoutStopSec=90s 

O meu agora fica assim:

DefaultTimeoutStartSec=10s 
DefaultTimeoutStopSec=10s 

Faz isso há um ano e nada de ruim veio disso.

Remova os principais #que desabilitam a linha e altere o valor.

gato
fonte
1
Não consegui inicializar com esse tempo limite e tive que comentar essas linhas de volta do modo de recuperação.
Yuri Gor
1
@YuriGor minhas desculpas, acho que algo mudou desde 16.10
cat
1
O meu é 18.04. Não me lembro claramente, mas era um problema relacionado ao sda, então provavelmente meu disco rígido leva muito tempo para montar ou o que seja.
Yuri Gor
2

Se for uma área de trabalho, abra-a e desconecte-a e reconecte todos os cabos do disco rígido, incluindo MB.

Caso contrário, parece que o seu HDD está atingindo o tempo limite. Faça backup de todos os dados agora.

Queime a instalação de rede ao vivo do Ubuntu para adaptar seu sistema, inicialize no Try Ubuntu. Em seguida, execute o Gparted: por padrão, ele verifica erros de leitura do disco rígido. Se você tiver um backup de todos os seus dados, talvez alguém possa aconselhá-lo.

fumar rodas
fonte