Wiki source for Blog20080821BootChart


Show raw source

Goal :
~- provide good looking pictures (SVG iirc)
~- maybe identify why the wake of suspend does not currently work on HP compaq nc6400 (I do not know if bootchart is still active at wake up ?), see UpgradeCooker2009 too
~- find some needed (?) optimizations
~- identify why there are at least 25 seconds "lost" at boot, what is making start_udev then udevsettle stall ? **done** (in latest kernel)
~- check [[̣̣̣̣Blog20100329BootChart2 Bootchart2]] now :-)

===Playing with bootchart to enhance / visualize boot time===
Check http://wiki.eagle-usb.org/wakka.php?wiki=ImproveBootTime
~- http://www.bootchart.org/ (and http://bootchart.sourceforge.net/)
~- http://wiki.mandriva.com/en/How_to_Profile_your_Boot_Time
~- http://blog.crozat.net/2008/09/improving-boot-time-on-general-linux.html [en] adaptation for Mandriva Linux 2009.0
Adaptation for GNOME :
~- http://www.gnome.org/~lcolitti/gnome-startup/analysis/
~- (shows that GNOME is mostly I/O bound, does not help that much to identify which process are in a timeout loop, waiting)
Booting in 5 seconds :
~- https://linuxfr.org/~patrick_g/27236.html [fr]
~- http://www.fenrus.org/plumbers_fastboot.ppt [en] presentation and analysis of the bootchart drawings, Don't settle for "make boot faster", Only "make boot fast" is acceptable


===The results===""<a href="http://download.tuxfamily.org/cooker/images/bootchart/nc6400_20080821_bootchart.png"><img class="right" style="width:183px;height:236px" alt="bootchart on nc6400 Mandriva Cooker 2009.0" title="bootchart on nc6400 Mandriva Cooker 2009.0" src="http://download.tuxfamily.org/cooker/images/bootchart/nc6400_20080821_bootchart.png" /></a>""
See other images at http://download.tuxfamily.org/cooker/images/bootchart/ (both SVG and PNG)
On my HP/Compaq nc6400 laptop with cooker 2009.0 i586
~- **before optimisation**, approximate boot time and events, from my wristwatch ([[http://download.tuxfamily.org/cooker/images/bootchart/nc6400_20080821_bootchart.svgz image in SVG]]) :
~~- 1mn10 : end of progress bar
~~- 1mn20 : graphical blue blank screen, with mouse pointer
~~- 2mn : gnome splash screen appears
~~- 2mn20 splashscreen disappears, desktop available
~- hmmm I may have to patch bootchart to continue till gnome is loaded (only 70 seconds in the generated graphics)
~~- first 20 seconds for initial modprobes, ending with sane-find-scanner, then no CPU at all (waiting for timeout ?)
~~- at 47 seconds, end of start_udev then udevsettle, some CPU with following launches
~~- at 47 seconds rc.modules + late modprobe
~~- at 57 seconds, begin of rc (launching services and some remaining modprobes like alsa ?)
~~- at 70 seconds end of boot
~- "seems" that 25 seconds are wasted ? is there a timeout somewhere ?
~- todo : patch bootchart to go till gnome splashscreen for further optimization ""<a href="http://download.tuxfamily.org/cooker/images/bootchart/nc6400_20080921_bootchart.png"><img class="right" style="width:113px;height:289px" alt="bootchart on nc6400 Mandriva Cooker 2009.0" title="bootchart on nc6400 Mandriva Cooker 2009.0" src="http://download.tuxfamily.org/cooker/images/bootchart/nc6400_20080921_bootchart.png" /></a>""

~- **latest results are better now, seems 60 seconds have been won** ([[http://download.tuxfamily.org/cooker/images/bootchart/nc6400_20080921_bootchart.svgz image in SVG]]) :
~~- ~45 s to boot instead of 75 s o_O
~~- try to comment out the line in /etc/modprobe.preload.d/floppy
~~~- to have 3 s less when nothing seems to happen
~~~- anyway, who still has a floppy disk nowadays !? I do not remember having one since at least 5 years...

===How to===
~-urpmi bootchart-logger bootchart bootchart-javadoc # installs bootchart-logger-0.9-5mdv2009.0 bootchart-0.9-5mdv2009.0 bootchart-javadoc-0.9-5mdv2009.0

As told in ##/usr/share/doc/bootchart/INSTALL## and ##/usr/share/doc/bootchart/README## here the few steps to achieve
~- grub modification, just copy/paste the linux entry in ##/boot/grub/menu.lst## adding an appropriate title and ##init=/sbin/bootchartd##
##title **Bootchart logging**
kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=c3fd9f4d-55c6-4f2e-9fe7-e2dcb9814d9e resume=/dev/sda7 splash=silent vga=791 **init=/sbin/bootchartd**
initrd (hd0,4)/boot/initrd.img##
~- The boot process is modified to start the boot logger (/sbin/bootchartd) instead of /sbin/init. The boot logger will run in background and collect
information from the proc file system (/proc/[PID]/stat, /proc/stat and /proc/diskstats). The statistics are logged to a virtual memory file system
(tmpfs). Once the boot process completes (denoted by the existence of specific processes), the log files are packaged to /var/log/bootchart.tgz.
~- check /var/log/bootchart.tgz is available after booting, then type bootchart (which is a simple script calling the java -jar bootchart.jar with the appropriate java machine installed,
~~- AFAIC : java-1.6.0-openjdk-1.6.0.0-0.16.b11.4mdv2009.0 java-1.6.0-openjdk-devel-1.6.0.0-0.16.b11.4mdv2009.0 java-1.6.0-sun-1.6.0.06-2mdv2009.0 java-1.6.0-sun-alsa-1.6.0.06-2mdv2009.0 java-1.6.0-sun-fonts-1.6.0.06-2mdv2009.0 java-1.6.0-sun-jdbc-1.6.0.06-2mdv2009.0 java-1.6.0-sun-plugin-1.6.0.06-2mdv2009.0
~- bootchart then bootchart -f svg to generate both bootchart.png + bootchart.svgz (smaller)

----
CategoryCookerDev CategoryBlogCooker
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki