Como posso melhorar meu tempo de inicialização / desligamento?

29

Eu tenho um laptop bastante decente (CPU Intel Core i7-3520M a 2.90GHz, SSD SataII da Samsung, 8 GB de RAM), mas não estou satisfeito com meus tempos de inicialização e desligamento ... Instalei o bootchart e estou tentando interpretá-lo , mas não entendo algumas partes.

Saída do Bootchart

Em particular, eu não entendo o que está acontecendo durante os primeiros 10 segundos, quando quase não há utilização da CPU, nem E / Ss. O que está acontecendo então? (parece haver apenas udevd, modprobe e plymouth em execução).

No outro extremo do meu trabalho diário, também experiente o desligamento lento. Nenhum gráfico de abate aqui, então eu sou ainda mais sem noção ...

Atualização Vim através de uma dica dizendo que pressionar a tecla para cima enquanto desligava dá acesso ao console (eu estava lutando com F1 / Alt F1 antes disso). Então, eu vi que o longo tempo de desligamento parece ter a ver com o rpcbind e o modem-manager não conseguirem sair corretamente ... Alguma idéia?

Atualização 2 Eu desinstalei o rpcbind, bem como o modemmanager. Isso melhorou as coisas para o desligamento, mas ainda tenho vários segundos aguardando entre a mensagem 'Todos os processos terminados em 1 segundo' e o desligamento real. Nesse momento, recebo uma mensagem rápida que ainda não consegui ler, mas suspeito que ocorra algum tempo limite ...

Atualização 3 Ok, acho que reduzi as coisas até a execução do resumo e da espera pela raiz durante os primeiros 10 segundos do processo de inicialização. Isso leva mais de 5 segundos, sem disco nem atividade perceptível da CPU. Notei que o UUID de swap no /etc/initramfs/conf.d/resume não corresponde ao UUID real da minha partição de swap, que por acaso é ... criptografada. Talvez seja esse o ponto? Alguma dica sobre initramfs-tools e cryptswap?

alci
fonte
Eu sei que isso não tem relação. Mas ainda não quero deixar de sugerir que você use o suspend (para ram / disco) como uma alternativa. De "off-state" para "executar-estado" este é menos de 3 segundos para o meu mais fraco sistema
humanityANDpeace
1
Suspender no disco de alguma forma não é recomendado ao usar o SSD, pois implica gravar a memória no disco a cada vez ... mas você está certo em retomar a ação de suspender para ram, é rápido.
alci
1
Eu esperaria cerca de 15 segundos, talvez 10. Meu SSD é realmente rápido e minha CPU não é ruim, acho que posso tirar o melhor proveito disso. Para ser franco, o tempo de inicialização não é tão ruim, mas o tempo de desligamento é. Dito isto, a remoção do rpcbind e do modem-manager (o fez hoje) tornou as coisas muito melhores. Eu também acho que entendo os primeiros 10 segundos de inicialização: parece ser a hora que acontece no initramfs, com o udev recebendo drivers carregados e / dev preenchidos. Não sei se pode ser muito mais rápido ... (consulte www.debian-administration.org/articles/620)
alci
1
é bom que você tenha progredido com o desligamento. Você teve alguma sorte com o processo de inicialização? UDEV é o culpado?
Humanandpeace
1
Obrigado, rpcbind e modem-manager fizeram o truque para mim - e também rngd: bugs.launchpad.net/ubuntu/+source/rng-tools/+bug/1425036 Agora, finalmente, é necessário a minha máquina (Lenovo W530 com um SSD, ainda mais poderoso) menos tempo para desligar e inicializar (ambos com menos de 10 segundos).
sup

Respostas:

12

Ok, eu encontrei o problema. Como eu estava sentindo, os 5 segundos em espera no currículo e na espera pela raiz não são normais.

Pesquisando no Google, finalmente encontrei este relatório de bug: atraso de 5 segundos na espera por raiz

Essencialmente, ele afirma que a espera de 5 segundos se deve a uma entrada incorreta /etc/initramfs-tools/conf.d/resume.

Acontece que minha troca é criptografada e eu tive a instalação inicial do UUID /etc/initramfs-tools/conf.d/resume. Tentei colocar o dado pelo blkid para / dev / mapper / cryptswap1, mas não funcionou ...

Finalmente, apenas comentei a entrada no arquivo e o atraso de 5 segundos se foi. De qualquer forma, o hibernate não está ativado no meu sistema (acho que está desativado por padrão no Ubuntu). Observe o # no início da entrada.

#RESUME=UUID=3835540d-0cb4-46fc-b39a-de9ff88dcefd

então corra:

sudo update-initramfs -u

Então, aqui está o meu último gráfico de inicialização:

gráfico de inicialização

Muito melhor. Em relação ao desligamento, a remoção do rpcbind e do modemmanager fez o truque. Agora tenho ótimos tempos de inicialização e desligamento.

alci
fonte
É muito bom ver que você descobriu esse problema relacionado à troca wait_for_root etc e conseguiu reduzir o tempo de inicialização. @ alci em relação a você "muito grande 8GB" Eu queria saber o que você usa seu PC para que faça sentido para você usar uma troca depois de tudo? Você ainda usa a partição swap, portanto, alguma aplicação sua está usando> 8GB de RAM? Uau? caso contrário, você pode ter evitado problemas de troca por não usá-lo em primeiro lugar.
humanityANDpeace
1
Minha troca está aqui porque ... Eu sempre tive uma troca com minhas instalações do Linux. E eu sempre apliquei a regra de ouro: swap size = ram size :-). Eu sempre uso mais de 8 GB de RAM? Normalmente não. Mas o que aconteceria se eu fizesse e não tivesse troca? E qual é o custo de uma troca?
alci
-6

Talvez você queira instalar o SO na RAM? Se a velocidade real é o que você procura, então seria isso. A diferença entre o tempo de carregamento do SSD e o RAM é enorme.

Kaspar
fonte
17
Arrefecer idéia, mas eu iria encontrá-lo um pouco inconvinient ter que reinstalar o sistema operacional cada vez que eu poweroff a RAM ... :-)
alci
Tecnicamente falando, um sistema instalado na RAM irá desaparecer uma vez que você desligar a máquina
Ed Villegas
Claro, é por isso que você compra um no-break e nunca o deixa desligar.
quer
Instale seu sistema operacional na RAM? O memcache já está pressionando, mas instalando seu sistema operacional?
Linuxios
@ Linuxios Eu meio que fiz isso uma vez, copiando uma imagem da minha partição <2.5GB / root para uma partição tmpfs no ram. Após a cópia inicial de dados de 2,5 GB, ela é executada rapidamente. Ainda assim como o @ Linuxios diz que o cache do Linux atinge velocidades semelhantes. Este comentário é apenas para dizer: Não é absolutamente louco ter um Linux rodando na RAM. É factível. ao copiar a imagem de volta antes do desligamento pode mesmo tornar-se uma coisa persistente :)
humanityANDpeace