sábado, julho 05, 2008

Melhorar o desempenho do boot do Ubuntu - Profile

O ubuntu não é propriamente o OS mais lento a arrancar, mas podemos sempre tentar optimizar. Ora o sistema principal que tenho aqui para testar isto tem o Ubuntu 7.10 Gutsy Gibon instalado num Athlon XP 1800+ com 720MB de RAM

Mas para verificarmos se realmente estamos a melhorar o nosso boot time a primeira coisa que precisamos é algo para monotorizar o tempo que isto demora. A forma mais elegante de o fazer á utilizar um programa chamado bootchart que permite gerar gráficos para o tempo de arranque do nosso Ubuntu. Assim o primeiro passo fazer:


$ sudo aptitude install bootchart


O bootchart vai gerar um gráfico do processo de arranque na pasta /var/log/bootchart. Dê uma vista de olhos. É uma forma de perceber tudo o que o seu Ubuntu faz durante o arranque.

Depois de instalar faz-se um boot normal para ver quanto tempo demora a fazer boot. No meu caso 85s.

Agora vamos fazer a optimização. Para isso vamos fazer um restart e no menu do GRUB fazemos Escape para entrar no menu. Seleccionamos o kernel que estamos a utilizar, normalmente o primeiro da lista, e fazemos "e" (edit). Desta forma entramos numa janela de edição dos parâmetros de arranque e seleccionamos a linha do kernel (a linha que inclui o vmlinuz_x_x_x_x, estiverem a utilizar por exemplo o XEN pode acontecer que o vmlinuz esteja a ser carregado como módulo) , voltamos a pressionar "e" e adicionamos profile. Fazemos Enter e pressionamos a tecla "b" para fazer boot. Durante este arranque o sistema vai escrever um ficheiro de profiling do arranque em /etc/readahead/boot Este arranque é muito mais lento que o tradicional, uma vez que o sistema está a fazer um profile do arranque para determinar o que pode ir lendo do disco rígido adiantando as necessdiadades do boot normal.

No fim basta fazer mais um reboot para que o sistema arranque com o novo profile. Isto só deve ser suficiente para ter ganhos no tempo de boot do sistema e verificar novamente no bootchart qual o tempo total de boot. No meu caso o tempo total de boot passou a ser de 76s. Pode não parecer muito ganhar apenas 9 segundos no boot, mas é algum ganho que parece funcionar bem.

Este método limita-se a optimizar o boot actual. Se pretende alterar o que é carregado no arranque pode utilizar uma aplicação chamada BootUp-Manager (experimente ir a Applications-> Add/Remove... e procurar pelo nome) para gerir através de uma interface gráfica o que é iniciado no arranque do sistema ou não. O programa é instalado no menu System->Administration. No meu caso depois de desligar algumas coisas e optimizar novamente o readahead com o profile que descrevi aqui o tempo de boot do ubuntu ficou em 63s. Nada mau para uma optimização que se faz em 10 minutos.

Sem comentários: