In response to Red Hat’s Owen Taylor’s call to find ways to reduce boot time, progress is being made. Graphs here and here show the status. If this work continues we are likely to see a more efficient boot sequence. Hopefully this kind of work will continue on other major subsystems of the Linux desktop.
I would really like to know what graphing program he used to make that graph. Can this graphing program be extended to print information about individual threads instead of processes?
thanks
“Hopefully this kind of work will continue on other major subsystems of the Linux desktop.”
The only distro’s I’ve had problems with boot times are the bloated distro’s like Fedora and Mandrake. Debian loads quickly enough and so does FreeBSD. The solution is simple enough; get rid of all the complex bloated scripts that get parsed during boot, get rid of all the useless daemons/options that get loaded up, and Fedora should be up and running as fast as a real distro. Anyways, I don’t see fixing Fedora’s problem helping out the “Linux desktop” so much as helping “Fedora’s desktop.”
I basically agree with you slash with respect to Fedora being slow on boot up. However, if Fedora makes some changes that speed up boot, then that could filter to other distrobutions. Now as for FreeBSD, that is one quick boot. On a dual boot, it takes 1:30 for Fedora to boot into GUI and 15 seconds to boot into FreeBSD command prompt. Add about 3 seconds for a WM then is should be approx on level footing.
FYI: These numbers are based on default installs of both OS’. It is just my oberservation that FreeBSD starts relatively few services on a default install. I have tweaked both OS’ and got the boot times down to approx 60 seconds w/Fedora and approx 12 seconds command prompt for FreeBSD.
Disclaimer: I am more of a *BSD user. There probably more tweaks that could have been done to speed up Fedora’s boot time.
Forgot to mention the sys specs.
PIII 800
FX-5200 video card (PCI)
Segate 120 HD
Memorex cd-rw
Hitichi cd-rom
Floppy
If they’d carefully engineered the boot process in the first place, this wouldn’t be necessary. Instead, a massive amount of cruft has been added over the years, making boot times far worse than Microsoft’s, and now they’re having to work it out.
Open source may lead to secure code, and it can often lead to reliable code, but there’s no proof it leads to fast, efficient and elegant code. Not a flame – just a thought. I hope these guys can help the spiralling Linux boot times and, as Eugenia says, improve the sluggish performance of other desktop components.
It’s just a shame this kind of problem wasn’t considered earlier, so now we’re having to fix all the cruft – the same thing we accuse Microsoft of doing.
He said he uses “the java2d and imageio packages with IBM’s JDK”.
http://www.redhat.com/archives/fedora-devel-list/2004-November/msg0…
Why do people care about boot times? I *really* want to know. The fastest machines I’ve used take *forever* (15 minutes) to boot, but that doesn’t really matter when you only do it a few times a month.
What’s a boot time? I mean, people actually turn off their computers? Why?
[/sarcasm]
On a not so sarcastic level, how many Linux users actually turn off their computers often enough that boot times are a major problem? Seriously. One of the draws to Linux and Unix systems is that you don’t have to reboot them the way Windows requires.
Its nice though, with OS, that you CAN fix the Cruft… instead of complaining about it for 8 years for a commercial entity to fix it… I certainly think there are times and places for everything… OS is not the end all be all… I just think its nice that at times when you are backed into the corner by something (like a bug, security exploit, etc.) its nice to know that you can fix it yourself or with the help of others instead of standing there with your pants around your ankles
”
It’s just a shame this kind of problem wasn’t considered earlier, so now we’re having to fix all the cruft – the same thing we accuse Microsoft of doing.
”
come on. this is not cruft. this is just how things evolve.
1 word: laptop.
Linux’s support for laptop sleep/power management/suspend is so poor that many people are simply forced to shut down and restart a lot.
This is by no means the fault of the kernel devs, and more the retarded manfacturers who cant seem to a) make a non-buggy implementation of the ACPI and APM specs and b) refuse to release the details of their buggy implementations, forcing dev.s to reverse engineer.
Whatever the reasons, the reality is that some people need to reboot linux. A lot. And the current init systems really suck performance-wise.
“how many Linux users actually turn off their computers often enough that boot times are a major problem?”
That’s interesting that you ask that, since I’m usually asking the opposite. Do people really leave their computers on all the time? Do these people leave the tv on when their not watching it, or leave all the lights in the house on when they’ve gone out for the evening? Maybe a person has to live in California to truly appreciate conserving electricity.
I hear ya. i turn off my box everyday or when it’s not in use. Electricity is expensive (at least in FL), epsecially with the A/C cranking. Boot times are still an aside as far as I am concerned. 1 minute is not a long time. I can turn on my computer; take a leak, get changed, something for that 1 minute. Are we really in that much of a hurry, especially on a home desktop machine, to check email and IM?
I reduce Fedora/ASP/RHEL time by:
chkconfig –del sendmail
If have no printer, chkconfig –del cups
chkconfig –del kudzu (Kudzu sometimes helps, sometimes breaks things, so not sure)
chkconfig –del <whatever i will have no use for>
Purging ‘rhgb’ from boot manager! This thingy is time eater really.
And it begins to boot up fast.
Microsoft has a tool to do the same thing with windows called BootVis.
http://www.weethet.nl/images/hardware/bootvis_graph.gif
Google images search if that link goes down but it gives you a graph (like above) plus the CPU %, HDD r/w speed, etc. as the system is loading so you can identify bottlenecks.
Must have tool if you are into tweaking.
“Many of us have figured that out long time ago and have tried Linux and thrown it away never to look back.”
That’s interesting too because even more of us have thrown away Windows 98/XP and haven’t looked back on the days of mediocre, overpriced or spyware-infested apps, the OS kicking us out of apps, worms and viruses, large bloated patches like SP2 that break apps, etc.
As others have pointed out, laptop users need fast boots. Disk-suspend doesn’t always work properly, and there are other times when a full reboot is necessary.
But we should look beyond this – to the experience newcomers get. I’m getting increasingly frustrated that, every time I try to convert someone to Linux, they’re always puzzled by the sheer length of boot and how slow the desktop is. Particularly as they’ve been told by many that Linux is faster, lighter, better for old hardware etc. – and then it feels weighty in comparison to Windows.
This isn’t good for Linux desktop adoption. We need incentives – we need to show it COULD improve productivity. But when the average user installs Linux, sees it taking 2 or 3 times longer to boot, and eating up more RAM, and then apps load slower… well, it’s not a good advertisement.
This is my opinion, but look around Linux newcomer message boards. A worryingly growing number of posts from those who’ve tried it, after recommendation, and find it all slower than their previous OS. We have to stop this if we want people to be impressed by our OS!
I agree with everyone here who says boot time shouldn’t matter, except in the case of laptops. If I was a laptop user, I’d want startup to be as quick as possible.
I’m aware that you can suspend, but I imagine that people shut down and start up more often than desktop users.
isnt there an ibm developer works article dealing with accelerating boot time through starting services as parallel as possible? (using make for ensuring dependencies are met before a service starts)
i would go looking except that this schools residential network only half works :
I’ve pretty much switched to Ubuntu and I can say it’s faster than XP on bootup. I was shocked when this was the case but it just doesn’t load a lot of daemons. The problem is Fedora is still very much a server and not a desktop. After using Ubuntu for a while this has become very clear.
Open Source can suffer the same bloat as commercial software. The nice thing is that you can replace virtually every bloated component with one that’s not. I use linux as my desktop every day, the only time I boot windows is to play games (maybe once a week?) other than Quake/UT. My system boots fast and the desktop is fast and easy-to-use. The difference? I don’t bother with KDE or GNOME because those are too slow.
My computer is noisy.
Got it?
There ARE people who care about bootup times.
laptops, noise, electricity. we can also add dual-booting to that list.
boot-times are a valid concern for the majority of desktop users. it’s an average-joe/jane desktop issue, not a tech/server one.
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
i did not like the GUI boot thing so i changed grub.conf to boot the old way (CLI)
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda3
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
title Fedora Core (2.6.9-1.667)
root (hd0,0)
kernel /vmlinuz-2.6.9-1.667 ro root=LABEL=/
initrd /initrd-2.6.9-1.667.img
Go to your BIOS and investigate the timed switch on / off options. You could set your system to power up at 8am every morning; it’d be finished booting by the time you got your pajamas off and save you money on an alarm clock. now THAT’S multitasking!
🙂
btw, apparently parallelisation wouldn’t necessarily speed booting up much, even if perfectly pulled off.
On my system (Fedora Core 2) It used to take FOREVER to boot. I disabled graphical booting and checking for hardware. Now the only thing that takes a significant amount of time setting up the network. It cut my boot time down by atleast 1/2.
BTW, I also poweroff my computer when I’m not using it. Electricity anyone??? Newer Motherboards and CPUs need more power than ever. Also, noone can attempt to hack in if my computer is not on.
I just wanted to say that you hit the nail on the head. I’m a windowsxp user who is dual booting Ubuntu at the moment, but the difference is so big… Mandrake was quicker for me to boot up than Ubuntu but still slow.
Overall, I’m impressed with Ubuntu (and linux in general) but the boottime and slow startup times from certain apps (*cough* openoffice *cough*) are just plain horrible
Of course, I don’t leave my computer running the whole day as I actually care about the environment…. and the electricity bill
Try abiword instead of openffice. it just might be useful enough for you
This could possibly help distro’s like Linspire. The last time I tried it, it took 3 minutes and 52 seconds to load. On the same machine that redhat was way quicker.
Wow, it took me less time to boot XP, open my RSS reader, read this thread and reply to your post than it does for Linspire to load on your system. Who says boot times don’t matter?
I triple boot my laptop with the following 1) Default to Fedora Core 2, 2) Ubuntu Linux 3) Windows XP.
For just checking my email and doing a bit or browsing etc, I use 2). It is very stripped (minimalist) down so it starts pretty quickly.
FC2 & XP both have lots of other software installed such as MQSeries, Oracle, DB2, Websphere Message Broker etc which I need for real (cash generating) work. My email folders are shered between Ubuntu & FC2.
I gave up on the one size fits all Linux about 9 months ago and it fits my requirements pretty well.
There are however IMHO, more urgent things to fix than boot time in Linux. Proper Power Management for Laptops and suspend/hibernation is still a lot of hit & miss (more miss than hit…) is more important to road warriors. It that was fixed then boot time would be far less important to that whole class of Linux users.
Linspire’s bootup time is phenomenally sloooooooooow. I think my Win 98 boxes back then booted up faster. I too, hope what they’re doing filters down to other Linux distros.
I care about boot times.
When I switch on the system, I want to use it immediately, not wait a few hours until it’s up and running.
Also, I got used to quick bootup times (using Windows XP on a P4 3.0 / 7200rpm HDD / 1 Gb RAM -> less than 10 seconds) and I love it. It’s just so f*cking nice to see your system up and running in a few seconds, without having to drink 10 cups of coffee in the mean time..
>> When I switch on the system
Ehm.. oops, I meant: “When I turn on the system”
Darn my blabby English skillz.
i recently installed windows 95 osr2 with ie4 on 486dx2 66. i was shocked. it booted in 36 seconds.
In the article the author used a Makefile for each run-level, and on bootup the MakeFile started all the services. As some services are I/O bound and some aren’t, and some use different devices, this allowed the maximum amount of work to be done at once while using very Unix-y tools. There was a significant speed up.
Incidentally, he tried the same thing except using compiled programs instead of shell-scripts, but didn’t see a good enough advantage to warrant the extra difficulty of maintenance.
My linux boots the Gooch method in about 8 seconds and takes a couple extra steps doing it, just chuck the LSB in the trash and pull your head out of that sysV rut.
Seriously, some of you really need to disable or uninstall unnecessary services and look into a little utility called hdparm. With hdparm not only will you notice faster boot times but your big bloated apps will definitely load faster as well. This is what I’m currently pulling on a beat-up MAXTOR 4D080H4/DAH017K0.
Windows 98 Second Edition: 19 seconds
FreeBSD 5.3-RELEASE: 33 seconds
Windows XP Professional SP2: 25 seconds
LFS : 15 seconds
Slackware 9.1 : 17 seconds
Parellising services is possible in sysv too. LSB is very important for ISV’s. stop blaming every problem on it
One thing that’s contributing to boot times on v. new distros is udev. As it creates devices dynamically, some services have to stop and wait for it on startup. Currently in MDK, ALSA takes 5-10 seconds to startup while it waits on udev. People are working on this, apparently.
> Windows 98 Second Edition: 19 seconds
> FreeBSD 5.3-RELEASE: 33 seconds
> Windows XP Professional SP2: 25 seconds
> LFS : 15 seconds
> Slackware 9.1 : 17 seconds
15-17 seconds? wow! of course with X11? (other way comparing with Windows XP is nonsense) – what window manager?
“f they’d carefully engineered the boot process in the first place, this wouldn’t be necessary. Instead, a massive amount of cruft has been added over the years, making boot times far worse than Microsoft’s, and now they’re having to work it out.
Open source may lead to secure code, and it can often lead to reliable code, but there’s no proof it leads to fast, efficient and elegant code. Not a flame – just a thought. I hope these guys can help the spiralling Linux boot times and, as Eugenia says, improve the sluggish performance of other desktop components.
It’s just a shame this kind of problem wasn’t considered earlier, so now we’re having to fix all the cruft – the same thing we accuse Microsoft of doing.”
TO bw honest, only Fedora has a long boottime for me, of hte 10 Linux distos I’ve used (no I haven’t used Madnrake…)
To be perfectly honest no those times do not involve graphical logins for my Linux installations, but is it fair to force Linux to boot into a GUI because Windows can’t boot into a console? The point is decent boot times can be achived in Linux and it’s a simple as disabling a few services you don’t need, and configuring your hd’s with hdparm. A good source of information on hdparm is page 112 of “Securing and Optimizing Linux The Ultimate Solution” available for free at http://www.tldp.org/LDP/solrhe/Securing-Optimizing-Linux-The-Ultima…. By the way it takes less than ten seconds to load X and KDE, and about five seconds to load fluxbox on my LFS system, and I could take it a step further and shave off another three seconds by disabling hotplug and udev but I like those services.
Anyone else noticed that windows cheats and shows the desktop before its finished loading … You should time until both machines are fully loaded, i.e. no hourglass showing.
Anyone noticed that XP feels as if it is booting faster than it actually do. But thats part of what matters for users! So we need inux to boot faster, _and_ make it appaer faster for the user