Slashdot Mirror


Boot Process Visualization

zigam writes "The time needed to boot desktop Linux systems is becoming an issue. That's why I recently took the challenge posted by Red Hat's Owen Taylor on the Fedora developers list and came up with a tool for visualization of the boot process. It collects performance data during the boot up and then renders an SVG or PNG performance chart. It immediately helped Red Hat developers solve some issues and I have since received boot charts from other GNU/Linux developers as well. Solaris kernel developers reported success in improving their boot process too." Update: 12/15 20:04 GMT by T : Sorry, someone decided your time was worth wasting; no more mirrored bootchart.

23 of 536 comments (clear)

  1. IIS? by swordboy · · Score: 4, Funny

    No comments and your IIS web server is down. Nice.

    --

    Life is the leading cause of death in America.
    1. Re:IIS? by Ingolfke · · Score: 5, Funny

      He was, but his Linux box just took so long to boot it wasn't worth the effort.

    2. Re:IIS? by gniv · · Score: 5, Informative

      Here are some pictures that are not slashdotted yet: one, two, three.

      They are taken from here.

    3. Re:IIS? by FuzzyBad-Mofo · · Score: 4, Insightful

      Running Windows doesn't prevent one from running Apache.. I've never understood these people who choose to use the limited version of IIS instead of spending 5 minutes to set up Apache. It's not that hard, guys.

  2. Reboot visualization by Doc+Ruby · · Score: 4, Funny

    I want similar charts of telemetry of a server as it goes down, like the forensics of a Slashdotting. Today's front-page feature should give zigam plenty of data to experiment with ;).

    --

    --
    make install -not war

    1. Re:Reboot visualization by which+way+is+up · · Score: 5, Funny

      I love it so much better when they go down sloooowwww. Oh yeah baby take your time...

      Oh, wait, are we talking about the same thing here?

  3. heh by minus_273 · · Score: 5, Funny

    in case it is slashdotted here is a mirror of the chart.

    Linux ===============
    BSD ========

    --
    The war with islam is a war on the beast
    The war on terror is a war for peace
  4. Re:Mirror? by gniv · · Score: 5, Informative

    There are some charts linked from a post here.

  5. it's easy to speed up boot by nocomment · · Score: 5, Interesting

    I added a '&' to my /etc/rc file.
    like so:
    $i start&

    I have been berated a coupdl times in online forum because 'some services might need it to start properly', but I have never noticed any ill effects. My machines now boots in about 6 seconds :-D

    --
    /* oops I accidentally made a comment, sorry */
    /* http://allyourbasearebelongto.us */
    1. Re:it's easy to speed up boot by macdaddy · · Score: 5, Insightful

      I can think of a number of examples where this would fail but on the average desktop I don't think this would be much of a problem. Servers on the otherhand have to have certain processes started for others to start correctly. MIMEDefang and Sendmail for example. Sendmail and OpenLDAP. PgSQL and OpenLDAP. All the various NFS goodies and any server processes that require something off one of the NFS-mounted volumes. Still I can think of dozens that can and should be started in parallel. I can't think of any ill-effects of starting a number of processes that come to mind in simultaneously. I'll have to give that a try sometime. Maybe the init process should have a Next Generation version that allows you to specify what is absolutely required by a process to start correctly. init-ng can then decide what it can start in parallel based on that. Sounds like a project to me. :-)

    2. Re:it's easy to speed up boot by Zocalo · · Score: 4, Insightful
      The correct answer is that it works, but... As the original poster noted there are some dependencies within in the plethora of Linux daemons, and YMMV. For instance some SMTP and HTTP configurations require that DNS is available, so if you are also running your own DNS one the same box then you might have a problem. Realistically of course this scenario *should* mean we are talking about home servers only, but there are some really crappy (V)ISPs out there...

      Still, it's a nice thing to experiment with for people who run Linux in situations where reboots are common, laptops for instance. It's also useful if you are running something like Nessus as a daemon which takes an *age* to initialise itself and obviously has no dependencies. A better solution would be to have an additional prefix on certain init scripts - "P" for "parallel" - to tell INIT that they can safely be started in the background, something that a couple of commercial Unicies do.

      --
      UNIX? They're not even circumcised! Savages!
  6. Tried with the IBM enhancements? by earthforce_1 · · Score: 4, Interesting

    http://www-106.ibm.com/developerworks/linux/librar y/l-boot.html?ca=dgr-lnxw82-obg-BootFast

    IBM has published a paper on speeding up the boot process using something like a make to launch things in parallel that are not dependent on each other.

    --
    My rights don't need management.
    1. Re:Tried with the IBM enhancements? by dabraun · · Score: 4, Interesting

      Something like Windows XP has been doing for years?

      XP not only boots processes in parallel - it monitors which sectors of the disk are read during bootup, moves them around so they all sit in order in the same place on the disk as a background process, and prefetches the whole damn thing during subsequent bootups.

      It also does the same thing for application launches - you start an app, it profiles what is read from disk, reorders it, and prefetches it when you run the app again later.

  7. Re:For starters.. by kmmatthews · · Score: 5, Insightful
    On the other hand, Unix wasn't really intended to be booted every day, e.g. the way XP is*. (MS intentionally made sure the boot up was very fast, running things side by side and some other tricks.)

    (* IMHO.. If I'm wrong.. I'm sure you'll let me know..)

    --
    feh. stuff.
  8. Re:For starters.. by wizbit · · Score: 4, Informative

    Try reading David Zeuthen's analysis of the FC boot process (with charts) over on the fedora archives. Very interesting - among other things, nearly 200 MB of files(!) are buffered while starting GNOME - quite a footprint - and apparently by putting those files on a separate (non-fragged) partition he sped process by nearly 30 seconds and reports OOo and Firefox start times of around 3 seconds.

  9. Quick Link by Roofus · · Score: 4, Informative

    Here's an example image for you to ogle:

    http://people.redhat.com/davidz/bootchart.png.

  10. Re:Mirror? by zigam · · Score: 5, Informative

    Here's the mirror:
    bootchart.sourceforge.net

    --
    Ziga
  11. server vs workstation by studboy · · Score: 4, Interesting

    Maybe this is a silly question, but why cant the boot process be optimized for "workstation" type usage? That is: get a usable X login prompt up as soon as possible.

    On my machine, a bunch of random (but useful) things are fired up sequentially, before the prompt appears. Some things are used rarely/not at all, but they're still started. I dont want to disable them, but I dont want to wait for them either. Apache. MySQL. Privoxy.

    Why doesnt inetd start all these things? Apache would get started on first use. Likewise with the other services -- I pay for the startup (once) when I want to use them.

    On a server, it'll be up for forever so starting everything on boot makes sense. For a workstation, the system should be usable as fast as possible; the rest of the services can just as well wait until later.

  12. Boot times *are* important by EdMcMan · · Score: 4, Insightful

    The first two comments in a row I read were saying how "My linux never crashes, I never reboot, etc etc". That's great. You have to keep in mind that the average /. reader is not the average computer user!

    Most people turn off their computer when they are not using it, and actually turn it on when they need it. For the average computer user, boot times mean quite a bit more since they see it more. Don't be ignorant and think that just because it means little to you, it is unimportant to improve.

  13. Re:Bah. by stratjakt · · Score: 5, Insightful

    # First of all, if you run Linux, you're not booting much. What...rebooting maybe once a month?

    Some of us shut our computers off. Not every linux PC is a 24/7 server. People own laptops, shut down desktops when not in use, etc. Plus theres linux' ever-growing embedded segment. Your TiVo never gets shut off? How important is boot-time to a device like TiVo or Zaurus?

    # Boot time doesn't have to be an arduous wait. Yes, on out-of-the-box distros it can be incredible, but I blame the distro, not Linux.

    Yes, distros are poorly configured, and the userbase is largely stupid. Noone talks about runlevels anymore. Put "basic stuff you need to get the user going" on a lower runlevel, and "more advanced gitchy bullshit like AIM etc" on a higher runlevel. Most linux distros behave by default the way a spyware infected win98 box does, making the user wait while it starts umpteen zillion fringe services.

    # If you choose to not fiddle, then you choose to have boot times that are increasing. It takes time to autoprobe everything correctly and get it set up if you're too lazy to do it yourself. Windows does it from the perspective of 'throw everything in there and take up gadzillions of RAM'. Linux says, 'I'll autosetup everything but still keep you lean'. You pay for what you get, folks.

    Pure "M$ sucks rolF!" bullshit from the clueless. Windows runs a microkernel, Linux runs a monolithic kernel. They work differently. Windows loads the drivers it knows it needs (the installed ones) at boot time, linux pages the crap in and out of the kernel itself.

    This is the quickest part of the boot, really. Delays come when you have dhcpcd timing out while looking for a DHCP server that doesn't exist but yet for some reason runs by default even if you have a statically configured address. Or your waiting for privoxy to load and parse its blacklists, or for squid to primp and preen its caches, etc..

    # People who run IIS and then subject it to a /.ing should be drug into the street and shot for being an idiot. T

    Most sites that stand up to a /.ing are running IIS from, what I've seen. Ever see Slate or MSN go down when /. links to them?

    It has more to do with being able to afford bandwidth than some magical uberneat0 perl script you found on efnet.

    --
    I don't need no instructions to know how to rock!!!!
  14. IBM articles about improving Linux boot time by OmegaBlac · · Score: 4, Interesting

    Here some articles regarding booting Linux faster: Boot Linux faster and Reboot Linux faster using kexec Enjoy! ;)

  15. Re:an issue is it??? by pclminion · · Score: 4, Insightful
    an issue??? only if you're stupid enough to shut the thing down every night like most ms-windows users do...

    Yeah. My desire to cut my electric bill in half is "stupid." My desire to increase my energy efficiency is "stupid." Attempting to be environmentally responsible is "stupid."

    Unless you need your computer to be running 24/7, leaving it on is a tremendous waste of energy, and I think it's unethical. You're an ass.

  16. Hahahah by Lisandro · · Score: 4, Funny

    "Update: 12/15 19:32 GMT by T: An anonymous coward adds this mirrored version of one of the bootcharts."

    Have you actually bothered to check that link? It made me spit my Coke in laughter.