Acabou de comprar um computador novo, certo? Hum, muito bom. Já foi logo instalando a distribuição que mais gosta né? Claro, com um foguete deste não há distribuição que irá agüentá-lo. Só que a configuração do PC do seu vizinho é pior que a sua, no entanto o seu PC insiste em chegar atrasado para a festa?
Este aplicativo chama-se bootchart. Ele é desenvolvido em script. O funcionamento é o seguinte: O software é inicializado através do init e vai coletando as informações durante todo o processo de boot. Quando o software verifica que está para iniciar o ambiente gráfico, ele para de coletar os dados e cria um arquivo chamado bootchart.tgz, que por padrão estará localizado entro da pasta /var/log.
Como o aplicativo de renderização foi feito em Java, será necessário a instalação dos pacotes referentes ao desenvolvimento de Java, além de instalar o pacote ant. Caso não queira fazer a renderização no seu sistema, no site do bootchart existe a possibilidade de fazê-lo remotamente através do link:
Vou tentar reproduzir em meu sistema Fedora Core 6 como ele veio de fábrica :-), ou seja, com todos os serviços startados no início. Porque tentar reproduzir? Como o meu sistema já estava instalado e de certa forma otimizado, não lembro bem de quais serviços ficam ativos após a instalação do sistema.
Sistema de teste => Fedora Core 6 atualizado até na tampa.
Passos para a instalação do software:
1) Faça o download do software => http://www.bootchart.org/download.html
2) Descompacte-o => tar -jxvf bootchart-0.9.tar.bz2
3) Entre no diretório => bootchart-0.9
4) Como root digite => ./install.sh (Ele irá copiar o arquivo bootchartd para a pasta sbin e tentará alterar o grub ou lilo automaticamente).
5) Como não tenho o aplicativo grubby instalado, vou ter que alterar na mão o meu arquivo menu.lst. Para isto vou utilizar o nano, que é um editor pequeno semelhante ao vi, porém mais intuitivo. O arquivo do grub encontra-se em /boot/grub/menu.lst. No caso do lilo, este encontra-se na pasta /etc/lilo.conf.
ATENÇÃO: Não remova a entrada principal para o sistema, pois caso não consiga dar boot você irá utilizá-la para verificar o que ocorreu.
OBS.: Utilizei o editor nano, mas nada impede que você utilize o kwrite, kedit ou gedit para fazer esta alteração. Veja que existem duas alterações: removi a entrada "rhgb quiet" (elimina a chamada de boot gráfico, desta maneira o sistema gráfico é chamado somente uma vez) e inseri o conteúdo "init=/sbin/bootchartd". Feito isto, salve o arquivo e vá até a pasta /sbin e verifique se o arquivo bootchartd realmente está nesta pasta.
7) Dê boot
8) No meu sistema os seguintes serviços estão startados:
Além disso o sistema SELinux está ativado para modo permissivo. Como meu sistema já estava otimizado, este serviço estava desligado. Ao reativá-lo recebi uma mensagem de que o SELinux iria reetiquetar (era o que estava escrito :-) ) todos os arquivos e isto poderia levar algum tempo. Beleza, vamos ver quanto tempo ele leva para fazer isto também.
9) Creio que agora é só dar boot
10) Será gerado um arquivo chamado bootchart.tgz dentro da pasta /var/log
11) Entre no site http://www.bootchart.org/download.html e envie o arquivo bootchart.tgz. Dependendo do tamanho demora um pouco, de 1 a 2 minutos, é normal.
12) Com o SELinux reativado e ele tendo que reetiquetar os arquivos o sistema demorou 5:28 para iniciar. Veja abaixo:
13) Dando boot novamente com o SELinux já reativado:
Olha que interessante: Com mais serviços startados e com o SELinux funcionando, estou dando boot em aproximadamente 45 segundos. Este tempo é quase idêntico ao tempo quando tinha menos serviços startados e o SELinux estava desabilitado. O tempo anterior era de 41 segundos. A minha placa de rede está com IP fixo e meu modem é quem autentica DSL500B (Isto agiliza as coisas também).
14) Dando boot novamente e deixando somente alguns serviços essenciais para o sistema e desligando o SELinux:
[1] Comentário enviado por rogerio-reis em 30/01/2007 - 09:17h
Legal Antônio,
Muito interessante o artigo, geralmente eu instalo o sistema 'careca' e vou adicionando apenas o que preciso, mas nunca analisei o estado do boot.
Ótima dica.
[4] Comentário enviado por removido em 30/01/2007 - 12:27h
aqui não gerou o resultado
java.awt.image.RasterFormatException: (x + width) is outside raster
at sun.awt.image.IntegerInterleavedRaster.createWritableChild(IntegerInterleavedRaster.java:450)
at java.awt.image.BufferedImage.getSubimage(BufferedImage.java:1160)
at org.bootchart.renderer.ImageRenderer.render(ImageRenderer.java:636)
at org.bootchart.renderer.PNGRenderer.render(PNGRenderer.java:44)
at org.bootchart.Main.render(Main.java:318)
at org.bootchart.servlet.RenderServlet.doPost(RenderServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
[5] Comentário enviado por antonioclj em 30/01/2007 - 12:33h
Fala Brother. A falha foi gerando quando você mandou o arquivo para o site do bootchart ou quando você tentou gerar o arquivo localmente? Se precisar pode me adicionar no msn antonioclj at gmail.com
[6] Comentário enviado por tenchi em 30/01/2007 - 12:34h
Legal mesmo... NA maioria das vezes, o problema são aquele monte de serviços, apache, mysql.. etc. que deixam a máquina lerda...
Eu uso o KDE, e ele roda normalmente no meu duronzinho 1500 (tá duron de aguentar). O Gkrellm não marca nem 80MB logo após o boot, já no KDE (se bem que o gkrellm é bem pesadinho tbm...).
O boot demora pouco mais que um minuto, e eu acho que isso é até pouco, pra minha máquina... rsrsr...
[9] Comentário enviado por fabianoac em 31/01/2007 - 03:58h
ola... otimo artigo, tive problema no boot do mandriva 2007, passei a usar o debian por causa disso, q vou instalando so o necessario... vo testa esse seu artigo no mandriva e ver o q da. vlw.
[10] Comentário enviado por abeljnr em 31/01/2007 - 14:00h
rsrsr... legal a forma na qual vc se escreveu... hahahhaha
mas vale a pena conferir.;.... ja deu uma olhada geral no micro... tentou instalar outro SO... win por exemplo... so pra fazer um teste por exemplo....
agora.,... se nada disso der certo.... joga fora... rsrsrs
[12] Comentário enviado por jalexandre em 31/01/2007 - 20:26h
PQP! Artigo bom e engraçado. Você escreve bem, mantenha o ritmo para os outros artigos. Confesso que comecei a ler o artigo mais pelo titulo curioso do que outra coisa, e acabou me ajudando a detectar alguins problemas que eu tinha em máquinas um pouco antigas.
[ ] 's
[13] Comentário enviado por luiscarlos em 01/02/2007 - 20:38h
ae icarooo , tente o seguinte, java -jar /var/log/bootchart.tgz , pra mim funcionou belezinha e parabens pelo artigo, meu fedora core esta com um tempo de inicialização de 41 segundos, eh ate rapidinho, mas jha fiz iniciarlizar em 32 s certa vez, parabens mais uma vez
[14] Comentário enviado por Rafael-rs em 02/02/2007 - 17:56h
parabns!!! Vou usar essas dicas paramelhorar a performanc do slack, que umildimente roda em um k6-2 500... talvez ele fique uns trinta minutos mais rapido ... hhahahahh
[15] Comentário enviado por nanukano em 06/02/2007 - 20:30h
Achei interessante o seu artigo. Tenho algumas dúvidas: baixei o programa, instalei, alterei o Grub, reiniciei. Enviei o arquivo bootchart.tgz, recebi uma imagem png, mostrando meu boot.
E agora? É só reiniciar que ele tornorá o boot mais rápido? O que devo mudar nos arquivos inicializados? Quais devem ser removidos? Como?
Acho que é importante mostrar o restante dos passos tanto para quem é usuário experiente como para o newbie, ok?
[16] Comentário enviado por antonioclj em 06/02/2007 - 23:36h
Boa noite. O software em questão não é um otimizador e sim um analisador. Você é quem vai ter que verificar o que pode estar causando lentidão. Desligando serviços desnecessários ou atualizando algum serviço lento que seja necessário. Se você usa Fedora utilize setup na linha de comando ou então no menu f vá em sistema->services. Boa sorte.
[17] Comentário enviado por nanukano em 07/02/2007 - 09:38h
Valeu, Antonio. Minha dúvida maior é justamente essa, e deve ser a dúvida de muitos iniciantes: quais serviços não são necessários no boot?
No caso veremos quais os seviços que levam mais tempo e, simplesmente, desligá-los, depois tentar o boot e ver o que acontece? Parece que para pessoas sem experiência terá que ser assim, não?
O ideal é procurar na net o que cada serviço faz. Por exemplo o serciço de bluetooth. Como não tenho este serviço aqui desliguei ele no nível 5 que é justamente o modo gráfico. Os outros podem ser desligados também o problema aqui foi preguiça mesmo. :-)