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.

43 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 Spetiam · · Score: 3, Funny

      Yeah, where's the tool for visualizing a server meltdown?

    3. Re:IIS? by 1010011010 · · Score: 3, Funny
      For shame! Double shame!



      HTTP 403.9 - Access Forbidden: Too many users [isn't one too many?] are connected
      Internet Information Services

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    4. Re:IIS? by gniv · · Score: 5, Informative

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

      They are taken from here.

    5. Re:IIS? by Aeiri · · Score: 3, Funny

      Yeah, 8 seconds can feel too long for me sometimes.

    6. 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. Mirror? by kmmatthews · · Score: 3, Funny
    Anyone have a mirror? That was the fastest slashdotting ever, .. 0 comments and his IIS server died.

    OTOH, it *is* IIS, it could die if you blink at it the wrong way. :)

    --
    feh. stuff.
    1. Re:Mirror? by gniv · · Score: 5, Informative

      There are some charts linked from a post here.

    2. Re:Mirror? by kmmatthews · · Score: 3, Funny
      Huh? Anonymous coward will die if I blink the wrong way?

      *blinks furiously*

      --
      feh. stuff.
    3. Re:Mirror? by zigam · · Score: 5, Informative

      Here's the mirror:
      bootchart.sourceforge.net

      --
      Ziga
    4. Re:Mirror? by GT_Onizuka · · Score: 3, Funny

      You're still blinking the right way. They'll never die if you're doing it like that.

      --
      If you take out Country Kitchen buffet, old people won't know what to do.
  3. 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?

    2. Re:Reboot visualization by Erik+Hensema · · Score: 3, Interesting

      Serious answer on funny comment: actually it's a very high initial spike with a gradual decay. See the hourly usage stats generated for a slashdoted April's Fool site. Note that this site is specifically designed to withstand the slashdot effect by using light graphics, no database and very simple scripting. Server load was low.

      --

      This is your sig. There are thousands more, but this one is yours.

  4. For starters.. by Zorilla · · Score: 3, Interesting

    How about, uh, you know, actually loading multiple things at once instead of waiting for some service to take its time to start, therby holding everything else up along the way. That's what the problem seems to be - everything has to load in-line.

    On another note, I'd like to see other distros do what Red Hat is doing to Fedora's boot screen: Using X resolutions for the startup. Damn, that looks nice! Thought it would be even nicer if the pointless resolution change between bootup and main X server startup was eliminated (it's usually the same res anyway).

    --

    It would be cool if it didn't suck.
    1. 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.
    2. 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.

    3. Re:For starters.. by Zorilla · · Score: 3, Interesting

      Right, but most use the framebuffer kernel extension. That's just a really basic means of getting it done. What you get is a difficult-to-configure screen that's always at 60Hz.

      Fedora actually reads your xorg.conf and utilizes the X video driver being used by your system and runs at the same resolution and refresh rate. It looks really slick if you ask me.

      --

      It would be cool if it didn't suck.
  5. Boot visualization? by cmpkilla · · Score: 3, Funny

    Bah! Here's an ascii visualization of your webserver:

    (X_X) <--- Dead in the water

    --
    "Mind over matter: If you don't mind, then it doesn't matter"
  6. 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
    1. Re:heh by Ingolfke · · Score: 3, Funny

      The graphic you were looking at did not download completely before the server went AWOL. The complete graphic looked like this.

      Linux ===============
      BSD ========(died)

  7. 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!
  8. 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.

  9. Re:Coffee Anyone? by Zorilla · · Score: 3, Funny

    Reminds me of an old Gateway 2000 commercial where a kid is waiting for a computer to start up. It goes through a montage of the kid screwing around in the garage waiting for it.

    "No, Mom! It's still starting!"

    One of my friends had a theory that held true (up until Windows XP) that Windows (and MacOS at the time, this was 1995) was harmonically tuned to boot up just as long as it would take you to get up and take a piss and come back.

    Though some of the Windows 2000 machines here at work make me think I have enough time to take a dump and come back. They're fast, just something is very wrong with them.

    --

    It would be cool if it didn't suck.
  10. Quick Link by Roofus · · Score: 4, Informative

    Here's an example image for you to ogle:

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

  11. laptop users... by Drantin · · Score: 3, Insightful

    until hibernate features work correctly anyway... and when X locks up and doesn't let you ctrl+alt+f# to another vterm/tty (only had that happen a few times, but it does happen) and you don't have another computer handy to ssh in and fix it...
    and if you have a loud computer near the bed...

    --
    Actio personalis moritur cum persona. (Dead men don't sue)
  12. 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.

  13. Re:What we really need by techno-vampire · · Score: 3, Funny

    One neat way to do this would be to take a Bach fugue and give each box one voice. Not only would you get some fine background music during boot, you'd know if a machine hung during boot and which one.

    --
    Good, inexpensive web hosting
  14. Re:Bah. by shawn(at)fsu · · Score: 3, Insightful

    # First of all, if you run Linux, you're not booting much.
    Maybe some people chose to turn of their box when
    they are not at home or when they are sleeping. Maybe some people want to save a little bit of electricty if they can.

    This is the problem with the linux zelots. Someone points out somthing that is annoying and should be fixed and people rush to say how this is a non issue, then they go on to say how this is actually better than the way windows does it.

    People who run IIS and then subject it to a /.ing should be drug into the street and shot for being an idiot. Twice.
    Yeah because IIS is the only webserver that can be /.ed your right on that one pal. Yeah. Sure.

    --
    500 dollar reward for tip(s) leading to the arrest of the person(s) who stole my sig.
  15. Windows tool by ilyag · · Score: 3, Interesting

    For Windows, use BootVis. Comes very handy to figure out what driver is pausing the boot process for 5 minutes...

    For bonus points, explain why Microsoft pulled it from its website.

  16. 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.

  17. Re:MOD UP PLEASE by bob670 · · Score: 3, Funny
    Where are you posting? This is /., the following always apply...

    1. MS = Evil

    2. IIS always sucks

    3. /.ers are smart enough to know better

    Any admin worth his wages knows better than to use IIS, steaming pile that it is. I know the button monkeys like it because it's easier than all that damn reading and knowledge that Apache requires, but it still sucks. And we could exclude Linux from this anyway (if we chose to), Apache runs on Wintel just fine, amongst many other platforms. That said, if you are here hawking your Linux tools there is something lame about hosting them on IIS.

  18. 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!!!!
  19. 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! ;)

  20. 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.

  21. 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.

  22. Re:an issue is it??? by Anonymous Coward · · Score: 3, Insightful
    And as far as environmentally responsible is concerned...unless you don't own a car, are completely off the power grid, never flush your toilets unless they are full, take sponge baths, and recycle absolutely everything, I'd shut the hell up.


    This is faulty logic. This is like saying "Since I can't do everything, I'm going to do nothing". That's the kind of piss-poor logic which unfortunately is contributing significantly to the current dismissive attitudes toward environmental protection. Sigh...

    A strong argument to counter yours would be the simple "Well, I may not be perfect, but at least I'm better than you".
  23. That's why by gr8_phk · · Score: 3, Informative
    So THATs why XP boots so fast....

    As an embedded programmer, I've got to get many startup diagnostics and initializations done in the shortest time possible (under 1 second usually) - otherwise you'd be waiting for your car to boot every time you turn on the key. Everything in parallel that can be. Dependancies are mapped out and a static start sequence is defined. Linux has a more variable set of things to do, so I'd expect a more flexible implementation. This shocks me that there is NO implementation.

    It doesn't matter what MS does, every application wants load at boot time so it will respond quicker later - this just kills my boot time. Yah, a whole tray full of crap starts and I sometimes use one of those things.

  24. Re:What we really need by Darren+Hiebert · · Score: 3, Interesting

    Oh, man! I had a friend who, years ago, had written a special ROM for a dot-matrix printer to play a Bach four-part fugue by assigning the appropriate frequencies to the the head movements, paper feed mechanisms, and dot-matrix hammers. It was really cool!