Como eu melhoro a velocidade de inicialização?

58

Eu tenho visto muitos vídeos que tornam o Ubuntu mais rápido, mas esses métodos só tornam o desempenho da área de trabalho mais rápido.

Estou procurando fazer meu computador inicializar mais rápido. É alguma coisa que eu possa fazer para tornar o boot do Ubuntu significativamente mais rápido?

    
por jnut 29.10.2010 / 19:56

12 respostas

26

Geralmente, quanto menos programas você carrega na inicialização, mais rápido o sistema deve estar. Experimente o BUM (do centro de software) para desabilitar alguns serviços desnecessários e também garanta que você não possui nenhum programa desnecessário instalado que será carregado durante a inicialização. Finalmente, usar uma unidade de estado sólido (SSD) como seu dispositivo de inicialização deve melhorar significativamente o tempo de inicialização.

Ah mais uma coisa, o tipo de sistema de arquivos também faz a diferença. O EXT4 sofreu algumas regressões de desempenho (de acordo com o phoronix), mas ainda acho o EXT4 ótimo para inicializar rápido.

    
por RolandiXor 29.10.2010 / 22:09
15

Eu acabei de falar disso no outro dia. Seu "e4rat" Instruções aqui

Este pequeno aplicativo é incrível.

Eu peguei um processador sem fio AMD sempron rodando a 2800+ que normalmente carrega Natty em 1.45 min para 27.885 seg.

Eu tenho o boot-charts para provar isso. É louco!

    
por Ringtail 27.03.2012 / 07:54
14

Mude de uma unidade magnética para uma unidade de estado sólido ou uma unidade magnética & amp; Drive híbrido de estado sólido. Isso fará com que qualquer inicialização do sistema operacional seja muito mais rápida. Unidades híbridas não são muito mais caras. Se você não quer ir tão longe, basta comprar um disco rígido de 7200 ou 10K RPM.

    
por Jim McKeeth 30.10.2010 / 06:41
12

Eu suponho que você esteja falando sobre o Ubuntu 11.04?
Eu tenho tentado isso por um bom tempo agora, sem muito sucesso. De qualquer forma, esses passos fizeram alguns segundos de diferença:

1. Removendo pacotes desnecessários

apt-get purge brltty brltty-x11 foo2zjs min12xxw ttf-indic-fonts-core ttf-kacst-one ttf-khmeros-core ttf-lao ttf-punjabi-fonts ttf-unfonts-core

2. Usando os dois núcleos / CPUs durante o processo de inicialização

APENAS FAÇA ISSO SE TEM CERTEZA QUE O SEU COMPUTADOR TEM CÁLCULOS MÚLTIPLOS / CORES!
Abra /etc/init.d/rc (você precisará de privilégios de root) e substitua CONCURRENCY=none por CONCURRENCY=shell . Em seguida, salve o arquivo.

Atualizar

  

"CONCURRENCY = shell agora está obsoleto e é usado para 'makefile'. Desde   2010-05-14 o padrão foi 'makefile'. " ~ Jonathon

3. Desabilitando daemons desnecessários

Isto é um pouco mais avançado, então é melhor não fazer isso se você não sabe o que isso significa. Instale bum e inicie-o com privilégios de root. Em seguida, desmarque as caixas na frente dos daemons que você tem certeza de que não precisa. Por exemplo, quando você não tem um scanner, pode desativar saned . E se você nunca usa o bluetooth, você pode desabilitar bluetooth também. Quando estiver pronto, aperte o botão Aplicar e clique em sim ou não (não importa muito).

Depois de concluir estas etapas, reinicialize duas vezes . Por algum motivo, a primeira reinicialização após a alteração de todas essas opções leva muito mais tempo do que as outras, mas você deve notar uma diferença alguns durante a segunda reinicialização.

    
por RobinJ 28.08.2011 / 10:25
12

Melhorar o tempo de inicialização está altamente relacionado à desativação / gerenciamento do serviço, mas as respostas atuais não têm detalhes sobre a desativação de serviços que usam systemd .

O que é systemd?

Em resumo, systemd é um gerenciador de sistemas e serviços para Linux, compatível com scripts de inicialização SysV e LSB. Mais sobre isso pode ser lido na página oficial do projeto .

Verifique quais serviços levam mais tempo

Use o seguinte comando para verificar qual serviço leva mais tempo

systemd-analyze blame

Desabilitando o início automático dos serviços durante a inicialização

Se você quiser desativar a inicialização automática dos serviços durante a inicialização, use o seguinte comando

sudo systemctl disable some-time-eater-service.service --now

No entanto, você pode querer ver quais outros serviços precisam do serviço em questão. Para verificar use o seguinte comando

systemctl list-dependencies some-time-eater-service.service --reverse

Observação: substitua some-time-eater-service.service pelo nome real do serviço, como postgresql@9.5-main.service .

Observe que desabilitar o início automático não torna um serviço não inicializável. O serviço pode ser iniciado após a inicialização quando a exigência surgir. Se você quiser desabilitá-lo completamente, leia a próxima seção

Desativando serviços completamente.

Se você quiser desabilitar completamente um serviço para que ele não possa ser iniciado, você deve usar mask em vez de desativar. Assim

sudo systemctl mask <SERVICE-NAME>

Substitua o <SERVICE-NAME> pelo nome real de um serviço

A diferença entre mask e disable é a máscara tornar um serviço completamente desabilitado, você não pode iniciá-lo. Você deve unmask para iniciá-lo com systemd (você ainda pode começar com service ). Mas disable simplesmente desativa o início automático de um serviço, você pode iniciá-lo mais tarde.

Por exemplo, depois de mascarar meu postgresql@9.5-main.service service, quando eu queria iniciá-lo com systemctl , a seguinte mensagem é mostrada

Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.

Ferramenta GUI

Uma Ferramenta de GUI que eu particularmente acho interessante é systemd-manager , ela ainda está em fase de desenvolvimento e não foi feita para o repositório Oficial do Ubuntu. No entanto, você pode instalá-lo facilmente a partir da página do github do Systemd-Manager . Os lançamentos contêm um pacote .deb, que é muito fácil de instalar. Você precisa do GTK-3.16 ou superior.

Depois de baixar e instalar, você pode iniciá-lo com o comando systemd-manager . Comece.

O aplicativo tem duas visualizações principais. Uma é Unidades Systemd e outra é Análise Systemd . Você pode trocá-lo com o rótulo no canto superior esquerdo. Veja a captura de tela.

E existem três tipos de unidades que você pode gerenciar. Servcies , Sockets e Timers . Você pode alternar entre eles. Veja a captura de tela.

Exibição de informações

As três guias principais são Arquivos , Diário , Dependências .

  • Arquivos é o arquivo de configuração da unidade selecionada.
  • Jornal é a saída do sistema ao vivo enquanto ativa / desativa / inicia / interrompe unidades
  • Dependências mostra quais outros serviços ou unidades devem estar ativados para iniciar um serviço selecionado.

Indicadores de status

Existem duas colunas ao lado do nome das unidades para indicar o status. À esquerda, um indica se a unidade está habilitada para iniciar na inicialização e a direita indica se essa unidade está em execução no momento. Veja-os na foto.

Interruptores de controle

Para o status do Google ativado na inicialização ou em execução, há dois botões do Google no canto superior direito. Ativado significa que as unidades serão iniciadas e inicializadas. Veja-os na foto.

A visão completa da aplicação é mostrada abaixo

Espero que isso ajude. Eu me beneficiei de outras respostas sobre o systemd, mas realmente precisei reunir as informações em um só lugar.

Mais informações :

Para saber mais sobre systemd , acesse estes links:

  • Acho o Wiki do ArchLinux particularmente rico. Você pode visualizá-lo aqui link
  • E o site oficial: link

    Outras sugestões

Outras respostas têm sugestões diferentes. Incluindo a compra de SSD, aumentando a RAM etc.Se você puder pagar, eles definitivamente ajudarão, particularmente a sugestão do SSD.

    
por Anwar 06.08.2016 / 17:14
7

Use bootchart para produzir gráficos detalhados do que leva tempo durante a inicialização. Pode ajudar a decidir o que ajustar ou remover. De link :

  • Instale os pacotes bootchart e pybootchartgui , seja através do apt-get ou do Synaptic
  • Reinicie sua máquina
  • O bootchart está em / var / log / bootchart como um arquivo .png
por David Andersson 28.08.2011 / 17:11
3

Minha máquina inicializou mais rápido se eu fiz uma instalação alternativa e adicionei os pacotes da GUI manualmente. É claro que apenas retira coisas que eu não preciso e sou capaz de me somar. Se você vai voltar com "como faço para compilar / instalar aplicativos X, Y e Z", isso pode não ser uma boa idéia.

    
por RobotHumans 05.02.2011 / 02:06
3

Substitua seu disco rígido por um SSD é provavelmente o único método prático. Exemplo:

link

O tempo parece um pouco excessivo, mas você não postou nenhum detalhe.

    
por Steve-o 28.08.2011 / 10:09
2

Para qualquer outra pessoa que lute com isso, basta instalar o BUM e iniciar um usuário root (tenha cuidado ao usar o gksudo em vez do sudo normal). Em seguida, desmarque o serviço que você deseja desabilitar (desabilitei o Apache2, o daemon PostGreSQL, MySQL, caixa virtual e outros) e pronto! Você pode excluir o serviço completamente se não quiser, mas desativá-lo é mais que suficiente.

sudo apt-get install bum

    
por Stefano Mtangoo 16.10.2011 / 14:46
1

Garbagecollector está certo. Prossiga com cuidado. Mas alguns dos programas que você pode desativar com segurança são utilitários de pop-up de e-mail, como o Evolution, especialmente se você não estiver usando o Evolution inicialmente. Além disso, qualquer coisa relacionada à impressão pode ser desativada se você não imprimir nada. O mesmo para o Wireless se você estiver conectado.

    
por jfmessier 29.10.2010 / 21:28
1

Tente editar o arquivo "/ etc / default / grub", como a maioria dos blogs está apontando. Você provavelmente conhece esse. Primeiro adicionando a palavra "profile", então reiniciando, removendo "profile" e reiniciando ... ela realmente melhora a velocidade de inicialização. Aqui está um exemplo: link

    
por Xamidovic 06.04.2012 / 15:16
1

Editar 25.10.2016: Se você não for usar a hibernação porque não pode ou prefere suspender / S3, pode desabilitá-la no Grub adicionando noresume a GRUB_CMDLINE_LINUX_DEFAULT em /etc/default/grub e executando% código%. Aqui está um exemplo em um Chiloebook N22 executando o GalliumOS:

livewire@zc01:~$ systemd-analyze
Startup finished in 8.580s (kernel) + 4.160s (userspace) = 12.740s

livewire@zc01:~$ systemd-analyze
Startup finished in 3.595s (kernel) + 4.254s (userspace) = 7.850s

Achei isso porque fiquei curioso sobre a parte "Running scripts local-premount" durante a inicialização e investiguei um pouco no initramfs, o que me levou a essa opção que usei anteriormente quando o sistema não conseguia acordar da hibernação.

Editar 06.08.2016: Você deve atualizar para uma versão recente de sua distribuição Linux que vem com o systemd.

Ingredientes:

  • Obtenha um sistema UEFI com código UEFI livre de inchaço ou Coreboot
  • Obtenha um SSD
  • Instale o Ubuntu no modo UEFI
  • Bônus: compacte o initramfs com xz lzop e inclua apenas os módulos necessários. (Você deve realmente saber o que está fazendo antes de tentar fazer isso.)
  • Bônus: remova daemons desnecessários ou configure-os para inicializar mais rapidamente. Embora a instalação padrão já seja boa o suficiente.
    • Exemplo: o trabalho de inicialização do btrfs que está procurando pools para montar enquanto não há volumes btrfs neste dispositivo. Isso me fez remover o btrfs-tools de algumas das minhas instalações.

Eu tenho que dizer que 32 segundos é realmente bom o suficiente. Não vai ficar muito mais rápido com o hardware tradicional. Meu novo Lenovo T530 leva o mesmo tempo para inicializar no modo herdado. Com o novo micro SSD que instalei recentemente e o Ubuntu no modo UEFI, é necessário 15 segundos para pressionar o botão de energia para fazer o login. Ainda parece que está desperdiçando 5 segundos durante o post, mas não é absolutamente perder tempo iniciando o sistema operacional real. O micro SSD tem velocidades de transferência de 280 MB / s, pode ser um SSD de 500 MB / s pode chegar a 7 segundos. Mas cabe aos fabricantes reduzir o tempo de inicialização do sistema operacional (POST e o que não).

Em relação ao perfil de inicialização e à simultaneidade do shell. Essas informações podem ser vistas como datadas ou eventualmente míticas. Eu lembro que o perfil de inicialização automático ou algo que tornou o perfil de inicialização absolutamente supérfluo foi adicionado ao Linux ou ao sistema principal anos atrás, desde então eu não usei mais o perfil de inicialização depois que um novo pacote do kernel foi instalado. Dizia-se que a configuração de simultaneidade do shell quebrava as coisas, mas com Systemd e Upstart também deveria ser supérflua e não deveria ter efeito positivo.

    
por LiveWireBT 16.07.2012 / 11:17