Acelerando o boot em Ext4 com o E4RAT

Publicado por Roger em 27/09/2011

[ Hits: 12.708 ]

Blog: https://bit.ly/2tJIgP7

 


Acelerando o boot em Ext4 com o E4RAT



Como reduzir drasticamente o tempo de boot e o carregamento do X?

Para os usuários do sistema de arquivos Ext4 existe o e4rat. Literalmente significa: "Ext4 - Reducing Access Times", traduzindo: "tempo de acesso reduzido em Ext4".

O e4rat é um projeto de Andreas Rid e Kiefer Gundolf. É um pacote composto das seguintes ferramentas:
  • e4rat-collect;
  • e4rat realloc;
  • e4rat-preload.

A versão atual é 0.2.1.

Detalhamento:

Se você analisar bootchart "clássico" irá notar que nem o disco nem CPU são utilizados integralmente durante o processo de boot. O e4rat é capaz de alterar esse comportamento padrão do boot fazendo pleno uso de disco e CPU durante o mesmo e, assim, reduzir o tempo de inicialização drasticamente.

Ele consiste de três etapas:
  • e4rat-collect - coletar arquivos por um tempo especificado (o padrão é 120 segundos, mas isso pode ser ajustado);
  • e4rat-realloc - realocar arquivos;
  • e4rat-preload - pré carrega o sistema.

Quem pode beneficiar-se, e quem não pode:

e4rat tem provado ser extremamente eficaz para um ambiente típico de usuário único que loga direto no X, mesmo com um grande número de programas abertos.

Se você tem um ambiente de servidor sem X a redução pode não ser tão drástica. Quem utiliza drives SSD não se beneficiarão, porque não existem peças móveis (como nos HDs tradicionais) e, assim, (quase) sem latência de disco.

ATENÇÃO: A versão atual do e4rat irá danificar seriamente qualquer partição que foi convertida para ext4 a partir de outros sistemas de arquivos. Provavelmente porque os arquivos existentes não são convertidos para usar extensões, e o e4rat não tem mecanismo interno para detectar esta condição.

Antes de utilizar e4rat você deve fazer backup das partições, reformatar como ext4 (caso não tenham sido criadas diretamente em ext4) e depois restaurar os backups.

Dada a situação atual e a natureza do programa, é sempre aconselhável efetuar backup do sistema antes de tentar a realocação."

Esta dica foi traduzida para o português a partir do original:
Obs.: Eu pulei passo acima e para mim funcionou perfeitamente mas faça se assim o quiser, será por sua conta e risco.

Instalação

Para usuários do Arch Linux:

e4rat está disponível no AUR: https://aur.archlinux.org/packages.php?ID=47944

Para usuários de outras distros ou debian e debian-likes: http://e4rat.sourceforge.net/

e4rat-collect

Iniciando o processo:

# e4rat-collect

Isto fará o e4rat coletar uma lista de arquivos no momento do boot, para que isso ocorra acrescente o seguinte parâmetro a linha do kernel no seu /boot/grub/menu.lst (usuários do grub legacy) ou no arquivo /boot/grub/grub.cfg (usuários do grub2), para os que como eu utilizam o Syslinux o procedimento é idêntico, não pesquisei no tocante ao lilo:

init=/sbin/e4rat-collect

Esse procedimento terá que ser feito apenas uma vez, então, você pode preferir acrescentar diretamente no momento do boot através dos comandos nativos de edição do seu boot-loader.

Quando o e4rat-collect iniciar irá "gravar" o boot do sistema por um padrão de 120 segundos.

Então, se você faz o boot, loga no X, abre seu navegador favorito e cliente de e-mail, e outros programas que utiliza com frequência logo após o boot dentro do tempo de dois minutos, cada uma dessas atividades é registrada. Para alterar o padrão de 120 segundos edite "/etc/e4rat.conf". Para interromper manualmente use "e4rat-collect" a qualquer tempo antes do especificado faça:

# e4rat-collect -k

Ou:

# pkill e4rat-collect

Durante uma inicialização bem sucedida e decorrido o tempo atribuído você terá o seguinte arquivo: /var/lib/e4rat/startup.log

Não se esqueça de remover o comando "e4rat-collect" do seu "menu.lst" ou arquivo "grub.cfg" (não é necessário se você inseriu na linha de comando) ou do "syslinux.cfg".

e4rat-realloc

Para a mudança do processo de realocação para a inicialização:

sudo init 1

Logue como root e execute:

# e4rat-realloc /var/lib/e4rat/startup.log

Pode demorar um pouco dependendo da quantidade de arquivos existentes no arquivo "startup.log".

e4rat-preload

Adicione o seguinte parâmetro de modo permanente a linha do kernel no seu /boot/grub/menu.lst (grub legacy), /boot/grub/grub.cfg (grub2) ou "syslinux.cfg":

init=/sbin/e4rat-preload

Reinicie o computador e aproveite seu novo boot.

Outras dicas deste autor

Aprimorando a Segurança no uso do Skype

Obtendo mirrors mais velozes no Arch Linux

Lance seus aplicativos de maneira fácil e rápida!

Descompactando arquivos facilmente com UNP

Leitura recomendada

Traduzindo Firefox para pt_BR no Slackware 14.0

Como desabilitar beeps chatos no Linux Mint Debian Edition

Conky - Nova forma de configurar

Configurando pré-regulagens de equalização do XMMS no Slackware

Configurando internet a rádio no Linux (conexão compartilhada)

  

Comentários
[1] Comentário enviado por chipalinux em 27/09/2011 - 10:42h

parabéns!!! deu certo aqui no meu opensuse!!!
ficou muito rápido o boot, pelo menos uns 20 segundos de ganho!

valeu!

[2] Comentário enviado por rootgerr em 27/09/2011 - 15:41h

Que bom que funcionou a contento para você realmente é impressionante o ganho

[3] Comentário enviado por removido em 27/09/2011 - 19:22h

Vou testar no meu Arch, Roger.

Depois retorno.
VLW pela dica!

[4] Comentário enviado por removido em 27/09/2011 - 20:01h

Oha só, aqui o 'boot' é bem rápido. O que demora mesmo é iniciar o XFCE.
Depois de aplicar a dica, percebi melhora na inicialização do ambiente, talvez de 8 seg.

Aprovado.

[5] Comentário enviado por rootgerr em 27/09/2011 - 20:36h

Que bom que melhorou Izaias aproveito para uma correção:

Errata

Apesar de revisões e mais revisões deixei passar o seguinte:

init=sbin/e4rat-collect e
init=sbin/e4rat-preload

é necessário acrescentar uma barra antes do sbin ficando então:

init=/sbin/e4rat-collect e
init=/sbin/e4rat-preload

peço desculpas a todos pela falha

[6] Comentário enviado por removido em 27/09/2011 - 20:39h

UÉ!
Mas isso atrapalharia a aceleração do 'boot'?
Aqui no Arch eu consegui seguindo a dica exatamente como está.

Devo refazer, Roger?
Será que refazendo consigo um tempo ainda menor?

[7] Comentário enviado por rootgerr em 27/09/2011 - 20:43h

Só tentando para saber mas o legal é voce aproveitar o tempo e abrir navegadores cliente de e-mail e demais programas de uso constante garanto que você se surpreenderá com o carregamento dos mesmos

[8] Comentário enviado por removido em 27/09/2011 - 20:53h

Sim, é notável a diferença.

Mas não sei se refaço, meu Arch está redondinho.
Até o Firefox atualizou para a versão '7'. Está tudo ok!

Acrescentei o '/'.

VLW

[9] Comentário enviado por leandro em 28/09/2011 - 11:42h

Diga perfeita!
Testei no meu Debian e ficou muito mais rápido.

Parabéns!

Ps: eu corrigi os comandos do init da dica.

[10] Comentário enviado por removido em 28/09/2011 - 11:46h

Quando chegar em casa aplico no Debian também.
Deve dar uma turbinada neste idoso. rs

[11] Comentário enviado por rootgerr em 28/09/2011 - 20:38h

Poste o retorno, se o fizer, para sabermos se o idoso pode abandonar a bengala.

[12] Comentário enviado por removido em 28/09/2011 - 21:06h

Não consegui instalar.
E pensei bem depois disso, quero o Debian assim mesmo.
Preciso dele exatamente como está.

Obrigado pela atenção, Roger

[13] Comentário enviado por removido em 30/09/2011 - 19:36h

@rootgerr, meu brother...

good work man! sabes que eu tinha postado seu trabalho numa das minhas screens né, favoritos procê meu brother.

[]'s

[14] Comentário enviado por rootgerr em 30/09/2011 - 20:31h

Sim me lembro perfeitamente, Valeu Brother

[15] Comentário enviado por leandro em 04/10/2011 - 09:35h

Apenas um adendo:

No Debian, pode-se colocar o 'init=/sbin/e4rat-preload' diretamente no /etc/default/grub. Acrescentando a linha:

GRUB_CMDLINE_LINUX="init=/sbin/e4rat-preload"

Assim, sempre que se rodar um update-grub as configurações não são perdidas.

[16] Comentário enviado por hiltongil em 07/11/2011 - 18:17h

No aptosid e linux mint Debian Edition(derivado do debian) não funcionou. Ele não gera o /var/lib/e4rat/startup.log alguém tem alguma ideia do que pode ser feito?

[17] Comentário enviado por noctuae em 25/06/2012 - 13:17h

Fala galera!!!
Instalei , fiz o passo passo e aparentemente não melhorou nada!!!
Agora desinstalei o 4rat e reinstalei o "ureadahead" .
A minha duvida é se pro ureadahead ficar ativo eu preciso fazer mais alguma ou só a instalação dele já o deixa efetivo ????

Valeu , abraço!!

[18] Comentário enviado por mspaint em 08/02/2013 - 10:34h

Bom tuto mas não foi explicado como instalar a ferramenta, alguém tem algum link que ensina como compilar e instalar?

[19] Comentário enviado por juliusfortes em 27/07/2014 - 05:59h

[EXPERIÊNCIA COM E4RAT]
Acabo de instalar o e4rat e tive meu boot aumentado de 24 para 36 segundos, visto que o programa faz um pre-carregamento de todos os arquivos - em 120 segundos - que foram abertos durante o processo e4rat-collect
Alguém teve a mesma experiência ?
Vejo muita gente dizer que tem um aumento na velocidade do boot em até 50%, porém, não vejo sentido nesta parte já que o programa toda vez faz um pre-carregamento dos arquivos.

[20] Comentário enviado por juliusfortes em 27/07/2014 - 06:01h


[18] Comentário enviado por mspaint em 08/02/2013 - 10:34h:

Bom tuto mas não foi explicado como instalar a ferramenta, alguém tem algum link que ensina como compilar e instalar?


Aqui você pode baixar a ferramenta: http://e4rat.sourceforge.net/
Qual distribuição você usa ?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts