Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

[ Create a new account ]

Boot Process Visualization

Posted by timothy on Wed Dec 15, 2004 02:51 PM
from the what-in-what-order dept.
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.

Related Stories

[+] Hardware: PC Makers Try To Pinch Seconds From Their Boot Times 244 comments
Some computers are never turned off, or at least rarely see any state less active than "standby," but others (for power savings or other reasons) need rebooting — daily, or even more often. The New York Times is running a short article which says that it's not just a few makers like Asus who are trying to take away some of the pain of waiting for computers, especially laptops, to boot up. While it's always been a minor annoyance to wait while a computer slowly grinds itself to readiness, "the agitation seems more intense than in the pre-Internet days," and manufacturers are actively trying to cut that wait down to a more bearable length. How bearable? A "very good system is one that boots in under 15 seconds," according to a Microsoft blog cited, and an HP source names an 18-month goal of 20-30 seconds.
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login
Loading... please wait.
  • IIS? (Score:5, Funny)

    by swordboy (472941) on Wednesday December 15 2004, @02:52PM (#11094978) Journal
    No comments and your IIS web server is down. Nice.
  • Mirror? (Score:4, Funny)

    by kmmatthews (779425) * <krism@mailsnare.net> on Wednesday December 15 2004, @02:52PM (#11094980) Homepage Journal
    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. :)

  • by Doc Ruby (173196) on Wednesday December 15 2004, @02:53PM (#11094990) Homepage Journal
    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 ;).
  • For starters.. (Score:4, Interesting)

    by Zorilla (791636) on Wednesday December 15 2004, @02:54PM (#11095000)
    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).
    • Re:For starters.. (Score:5, Insightful)

      by kmmatthews (779425) * <krism@mailsnare.net> on Wednesday December 15 2004, @03:03PM (#11095147) Homepage Journal
      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..)

    • Re:For starters.. (Score:5, Informative)

      by wizbit (122290) on Wednesday December 15 2004, @03:03PM (#11095157)
      Try reading David Zeuthen's analysis [redhat.com] 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.
  • heh (Score:5, Funny)

    by minus_273 (174041) <aaaaa@@@SPAM...yahoo...com> on Wednesday December 15 2004, @02:56PM (#11095033) Journal
    in case it is slashdotted here is a mirror of the chart.

    Linux ===============
    BSD ========
  • by *no comment* (239368) on Wednesday December 15 2004, @02:58PM (#11095068) Homepage Journal
    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
    • by macdaddy (38372) * on Wednesday December 15 2004, @03:15PM (#11095357) Homepage Journal
      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. :-)
      • by Zocalo (252965) on Wednesday December 15 2004, @03:24PM (#11095468) Homepage
        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.

  • 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.
    • by dabraun (626287) on Wednesday December 15 2004, @03:44PM (#11095745)
      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.
  • Quick Link (Score:5, Informative)

    by Roofus (15591) on Wednesday December 15 2004, @03:05PM (#11095185) Homepage
    Here's an example image for you to ogle:

    http://people.redhat.com/davidz/bootchart.png.
  • by studboy (64792) on Wednesday December 15 2004, @03:09PM (#11095240) Homepage
    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.

  • 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.
  • Hahahah (Score:5, Funny)

    by Lisandro (799651) on Wednesday December 15 2004, @03:58PM (#11095914)
    "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.
    • Re:Bah. (Score:5, Insightful)

      by stratjakt (596332) on Wednesday December 15 2004, @03:38PM (#11095652) Journal
      # 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.
    • by pclminion (145572) on Wednesday December 15 2004, @03:57PM (#11095902)
      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.