Advertisement

Parallelizing startup

Started by November 15, 2004 12:48 PM
9 comments, last by griffenjam 19 years, 10 months ago
On my machine, Debian takes about 2-3 times longer to startup than XP. I sit there and watch as it loads driver after driver after driver, taking its sweet time. Then I had an idea. This might be a stupid/crazy/redundant idea, but is there a reason it (I'm assuming it does) loads one driver after another, sequentially? Is there no way it can load multiple drivers at the same time? In some cases it makes sense, like it can't load the mouse driver until it loads the USB driver, but why does it have to wait to load the ethernet driver before it loads the display driver?
I like the DARK layout!
I saw something about this on ./ ages ago, I think IBM did an experiment and managed to halve the startup time.
There doesn't seem to be much interest in developing it further though, mostly because most Unix zealots never reboot anyway. Cutting down the boot time by a minute is a pretty futile optimization when you're bragging about your three year uptime..

edit: Found it. Clicky
Advertisement
Indeed make -j is a great way to do startup, but for some reason distributions don't like it. *shrug*

However, It's odd that it's taking so long for your machine to start up.

I only have two unnecessary delays: the dhcpclient takes like 25 seconds to get something, and the whole system just sits there in the meantime, and X could be started a LOT earlier than it is, making the system usable faster.
Debian is aimed at system stability, and thus it tries to do everything "safely." My Slackware machine hardly takes any time at all to start up. I don't have WinXP on the same machine to directly compare, but it is certainly fast enough to be considered a reasonable amount of time to wait.
I just timed it and it takes 50 seconds from boot loader to X login. It takes 20 seconds from boot loader to Windows desktop.
I like the DARK layout!
Quote: Original post by BradDaBug
I just timed it and it takes 50 seconds from boot loader to X login. It takes 20 seconds from boot loader to Windows desktop.
I think it also depends on what you mean by windows desktop.

I see my windows desktop pretty quickly as well, but it's completely unusable for a few minutes afterward, as security and virus crap gets loaded as well as a bunch of other crap in the background.

And then, of course, I have to deal with notification popups complaining about how I have automatic updates disabled, and then there's unused icons on my desktop, and then there's out of date virus definitions.
Advertisement
It really is pointless to try and optimise startup by using parallel starting.

Some services depend on other ones having started beforehand. If you try to start them in parallel, you could have race conditions or anything.

DHCPC may be slow under some circumstances -your best bet is to have it check in the background.

Prelinking may help startup times of all programs (especially ones which use a large number of libraries like KDE apps etc) - but may not do much for system boot time.

Your best bet is to live with it - it's not that bad, is it?

Mark
Quote: Original post by markr
It really is pointless to try and optimise startup by using parallel starting.

Some services depend on other ones having started beforehand. If you try to start them in parallel, you could have race conditions or anything.
You didn't read the linked-to article, did you?
Quote: Original post by C-Junkie
I see my windows desktop pretty quickly as well, but it's completely unusable for a few minutes afterward, as security and virus crap gets loaded as well as a bunch of other crap in the background.


Since I installed SP2, after I have logged on and everything in the background is loaded it takes ~3 minutes to be able to open the dial up dialog.

I generally find that what linux loses in startup time it makes up for in shutdown time :)
Want to spead up the boot time on your debian system?

Go into /etc/init.d/ and start removing the applications you don't want or need. You can also use apt to remove those applications.

You can also build yourself a custom kernel without support for boot intensive things like ACPI, etc.

Ryan

This topic is closed to new replies.

Advertisement