Por que usar o “profile” no grub para otimizar o tempo de inicialização não funciona para mim? Como eu reverti o efeito?

5

Euqueroacelerarotempodeinicialização,eeuseguiumadica para:

  1. Edite "/ etc / default / grub" e altere a linha GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" para GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile" ;
  2. Execute sudo update-grub2 e inicialize a máquina;
  3. Edite o arquivo de configuração do grub novamente e remova profile de GRUB_CMDLINE_LINUX_DEFAULT ;
  4. Atualize o grub novamente e reinicie.

Mas o resultado foi um aumento de um tempo de inicialização de 10 segundos de acordo com o dmesg output!

O que deu errado? Por que essa dica não funciona para mim? Como reverter esta configuração? Onde esse arquivo de perfil é salvo no Xubuntu? Posso excluir este novo perfil sem problemas?

    
por vladimir pavloski 13.10.2015 / 09:35

1 resposta

7

Uma observação no começo: Embora você esteja satisfeito com o Ubuntu 13.10, eu ainda recomendaria uma atualização para o 14.04 LTS. O Saucy chegou ao fim da vida há mais de um ano, o que significa que você não recebeu nenhuma atualização desde então - não é bom em termos de segurança. Além disso, tecnicamente os lançamentos de EOL estão fora do assunto aqui.

O parâmetro de inicialização do kernel profile é um gatilho para o perfil de leitura antecipada no tempo de inicialização. Se estiver definido, um daemon readahead monitorará o processo de inicialização, procurará arquivos carregados durante a inicialização e gravará um arquivo de lista apropriado. Esse arquivo será usado na próxima inicialização e deverá reduzir o tempo de inicialização reduzindo as pesquisas de disco rígido.

Existem alguns mecanismos de leitura antecipada que vieram e foram ao longo dos anos. Aqui está minha opinião sobre eles e espero que isso seja mais ou menos preciso.

Original readahead (reprovado)

A última versão encontrada nos arquivos do Ubuntu data de 2005. Você não pode mais instalá-la através do repositório. Eu não sei quando foi superenergizado, mas deve ter sido antes de 10.04.

  • perfil armazenado em /etc/readahead/boot .
  • aciona a criação de perfil movendo boot e inicializando com o parâmetro de kernel profile , embora este bug report sugere que é uma opção não documentada e somente para desenvolvedores.

readahead do Fedora

Originalmente do Fedora e ainda usado para sistemas que não iniciam com systemd .

  • O pacote do Ubuntu é readahead-fedora . Disponível através do repositório.
  • super sementes, o original readahead
  • perfis armazenados em /etc/readahead.d/custom.{early,later}
  • Perfil
  • acionado por
    • touch /readahead_collect ou
    • definindo o parâmetro do kernel profile na inicialização.
  • cria automaticamente perfis pelo menos a cada mês
  • Superseeded no Ubuntu por ureadahead

Os readahead e readahead-fedora originais criaram uma lista de arquivos necessários no momento da inicialização. Essa lista seria lida na inicialização em uma ordem que minimiza as pesquisas do disco rígido.

ureadahead

Este é o padrão no Ubuntu desde - eu acho - 10.04.

  • Pré-instalado
  • Realmente cria um arquivo de paginação que é carregado na memória durante a inicialização.
  • Armazenado em /var/lib/ureadahead/pack . Para forçar a criação de perfil na próxima inicialização, remova este arquivo.
  • Instala dpkg disparadores, que disparam e atualizam o arquivo da página sempre que algo é instalado e está relacionado a init .

Ubuntu > = 15,04

systemd é o sistema init padrão desde que vívido. Trouxe seu próprio mecanismo de leitura antecipada. ureadahead não funciona com systemd . Mas mesmo systemd-readahead agora está não-mantido e obsoleto, já que aparentemente todo mundo possui um SSD atualmente ... ureadahead é usado no Vivid ao inicializar com upstart .

Como esperado, seu sistema tem ureadahead instalado, o que não leva o parâmetro profile . Por que você experimentaria um tempo de inicialização prolongado após a configuração do perfil não ser compreensível. Se você também aplicou o segundo hack no how-to que você seguiu ( CONCURRENCY=... ), este pode ser o culpado. upstart deve cuidar disso sozinho.

Como dito anteriormente, para forçar o ureadahead a refazer o perfil, remova o arquivo pack

sudo rm /var/lib/ureadahead/pack

e possivelmente qualquer outro .pack nesse diretório. Certifique-se de fazer o login rapidamente após a inicialização, porque ureadahead registra um pouco mesmo depois que a inicialização foi concluída. Desta forma, esperamos que também inclua o shell de unidade ou o que você estiver usando.

Se você quiser realmente entender o que está demorando para começar, dê uma olhada no bootchart . Ele gera uma representação gráfica do processo de inicialização.

    
por Nephente 14.10.2015 / 13:35