Why doesn't openSUSE start in 15 seconds?

That is my question to you, the community and the developers. I was left pondering on this question after reading this article:

LPC: Booting Linux in five seconds

Even with a Quad Core system with 4GB of RAM and the fastest 7200rpm hard disk that money can buy it still takes up to a minute to fire up my PC, and honestly, I wonder why.

Is the openSUSE dev team actually working on improving start up time? I know the Ubuntu guys are working on it for their next release. Don’t get me wrong, openSUSE is a great, full featured distribution … but I feel largely unoptimized.

Does anyone have any experience with speeding up openSUSE to start significantly faster than the default installation, without having to recompile the kernel (also an option, but a bit time consuming), I’m looking for easy/dirty tricks, like disabling modules/services I don’t need. I know putting your desktop/laptop in standby/hibernate is an option for some, but not for me, it simply doesn’t work properly (yes I will file a bug report when I have the time :wink: ).

I think we’ve all been brainwashed to inadvertently comply with the marketing policies and hype of great corporations. The proof is GNU/linux itself: as you’ve rightly noticed, even with the latest and greatest distro, while higher speeds and lots of RAM can certainly improve things to a point (and for specific uses), you will generally not get more work done on a high-end machine with 4 GB RAM or more than on a 600 MHz PII with 250 MB RAM. Of course, there will be small differences in the “touch and feel”, in “perceived speed” but the work will get done, and done well. In non-free OSes, the converse is true: your brand new OS will not even install, let alone run on a low-spec machine. Newer OS versions are made not so much to actually work, but to instill certain feelings in the user, feelings of “progress”, of “improvement”, of “increased value”, of “advancement”. There are many ways of achieving this: not being able to run on low-end machines is one of them. To be slower, such OSes are “packed with features” (generally useless ones and even outright harmful ones, which may potentially be used to reduce your freedom, such as biometrics, fingerprint readers, DRM and so on)! They boast something called “user experience”. Do these words sound like they’re describing an OS? Of course they don’t, they’re describing a product to be sold. They migh as well be describing a new toaster or a new toilet. They are trying to obfuscate the fact that even the most advanced jet-propulsion quad-core nanotube toilet will always be … just a toilet. Not many things you’ll be able to do on it.

jsnel wrote:
> That is my question to you, the community and the developers. I was left
> pondering on this question after reading this article:
>
> * ’ L P C : B o o t i n g L i n u x i n f i v e s e c o n d
> s ’ ( h t t p : / / l w n . n e t / A r t i c l e s / 2 9 9 4 8 3 / )
> *
>
> Even with a Quad Core system with 4GB of RAM and the fastest 7200rpm
> hard disk that money can buy it still takes up to a minute to fire up my
> PC, and honestly, I wonder why.
>
> Is the openSUSE dev team actually working on improving start up time? I
> know the Ubuntu guys are working on it for their next release. Don’t get
> me wrong, openSUSE is a great, full featured distribution … but I feel
> largely unoptimized.
>
> Does anyone have any experience with speeding up openSUSE to start
> significantly faster than the default installation, without having to
> recompile the kernel (also an option, but a bit time consuming), I’m
> looking for easy/dirty tricks, like disabling modules/services I don’t
> need. I know putting your desktop/laptop in standby/hibernate is an
> option for some, but not for me, it simply doesn’t work properly (yes I
> will file a bug report when I have the time :wink: ).
>
>
You can try rolling your own kernel and removing any unneeded kernel
modules. Also use static ip’s both can maybe help boot quicker. My
honest question, is 1 minute really that significant?

That article you linked to has some links to tools to analyse your system, like bootchart. So here’s your chance to do some investigation and write it up. (My machine stays on all the time, so I don’t qualify.) Though I noticed that startup times improved on my occasionally used notebook in recent releases.

I’m sure that with more netbooks and portable devices in the hands of users, more attention will be put on faster startup. Also on power saving.

Took the time via my watch, so it’s not precise:

• default-kernel: 45.2 seconds from Grub to login, four more seconds to start KDE3

• jengelh-realtime-kernel: 39.5 seconds from Grub to login, four more seconds to start KDE3

1GB RAM, Athlon XP1600+

Go to YaST → System → Runlevel-Editor and switch off what you do not need, SuSE tends to activate pretty much by default like the powersave-daemon (which is used to save battery-power on laptops, though it’s enabled on PCs as well ← switching it off gave me quite a bit better performance on the booted system as well), or bluetooth on machines which do do have any bluetooth-stuff at all. Be careful though. Don’t disable your keyboard just because it saves you a fracture of a second. :smiley:

Also please notice that waiting for your system to boot gives you time to have conversation with your girl- / boyfriend, or pet, or some god you believe in.

Relax.

JosipBroz wrote:

> I think we’ve all been brainwashed to inadvertently comply with the
> marketing policies and hype of great corporations. The proof is
> GNU/linux itself: even with the latest and greatest distro, while higher
> speeds and lots of RAM can certainly improve things to a point (and for
> specific uses), you can generally get as much work done on a 600 MHz PII
> with 250 MB RAM as on a high-end machine with 4 GB RAM or more. Of
> course, there will be small differences in the “touch and feel”, in
> “perceived speed” but the work will get done, and done well. In non-free
> OSes, the converse is true: your brand new OS will not even install,
> let alone run on a low-spec machine. Newer OS versions are made not so
> much to actually work, but to instill certain feelings in the user,
> feelings of “progress”, of “improvement”, of “increased value”, of
> “advancement”. There are many ways of achieving this: not being able to
> run on low-end machines is one of them. To be slower, such OSes are
> “packed with features” (generally useless ones and even outright harmful
> ones, which may reduce your freedom, such as biometrics, fingerprint
> readers, DRM and so on)! They boast something called “user experience”.
> Do these words sound like they’re describing an OS? Of course they
> don’t, they’re describing a product to be sold. They migh as well be
> describing a new toaster or a new toilet. They are trying to obfuscate
> the fact that even the most advanced jet-propulsion quad-core nanotube
> toilet will always be … just a toilet. Not many things you’ll be able
> to do on it.

Have you seen those little “Designed for Windows …” stickers you see
pasted on every new computer you buy? I’ve been carefully removing them
and planting them on public urinals and toilets for years! :slight_smile:

That’s the spirit!rotfl!

So do I. 2006 vintage Athlon 3500, 1 Gbyte RAM, 34 seconds on openSUSE 10.3 (I haven’t timed 11.0) to obtain a KDE desktop. 10.3 was a noticeable speed improvement so one should appreciate that the developers’ efforts in that respect have been impressive.

Thank you all for your replies, my answers to you:

You can try rolling your own kernel and removing any unneeded kernel
modules. Also use static ip’s both can maybe help boot quicker. My
honest question, is 1 minute really that significant?
On a Desktop computer setting a static ip should actually help, thanks for the tip, on a laptop however that is not an options. 1 minute, well for a Desktop it’s acceptable, for my laptop/netbook … I’d rather not wait that long. :slight_smile:

That article you linked to has some links to tools to analyse your system, like bootchart. So here’s your chance to do some investigation and write it up. (My machine stays on all the time, so I don’t qualify.) Though I noticed that startup times improved on my occasionally used notebook in recent releases.

I’m sure that with more netbooks and portable devices in the hands of users, more attention will be put on faster startup. Also on power saving.
I noticed bootchart is part of the Main Respository (OSS) so I installed it right away. Bootchart is well documented (on the website)and easy to use. The problem is more intrepreting the chart … sure you know what boots when and how long it takes … but what is unneeded, and how to optimize it? Luckily it seems Stephan Kulow from SUSE is working on it, let’s hope he is also thinking about speeding up openSUSE 11.1 with readahead, like in the article.

As for building the kernel myself, that’s something I would love to do, but I find it hard to figure out what modules to leave in and leave out for my particular system, I wish there was a guide with advice.

Go to YaST → System → Runlevel-Editor and switch off what you do not need, SuSE tends to activate pretty much by default like the powersave-daemon (which is used to save battery-power on laptops, though it’s enabled on PCs as well ← switching it off gave me quite a bit better performance on the booted system as well), or bluetooth on machines which do do have any bluetooth-stuff at all. Be careful though. Don’t disable your keyboard just because it saves you a fracture of a second. :smiley:
Playing around with the Runlevel-Editor might surely work, but again, what do you disable and what not, most of these services I have no clue what they do, I mean “Zebra-deamon”, “sesam”. It’s probably documented somewhere but I figure it would take me more time finding it out that I would gain in 1 year of faster boots :). For instance, I could disable the powersave-daemon on my desktop, but if I understand correctly it’s also responsible for scaling down my CPU frequency when it’s idle - and I find that a useful feature. It is something however, I wouldn’t mind delaying booting up for a few minutes - but I don’t think that functionality has been implemented yet (‘Delayed Service Startup’ is btw, they only good feature I have seen in Windows Vista).

Thanks
Thank you all for your replies. Finally I want to say that the reason I care so much is that I really have my hopes set on openSUSE. It’s a wonderful OS and I would love for more people to use it. But in order to convince people to use openSUSE in this Windows infested world, you need to offer something that has twice the features, functionality and securty and boots in half the time :slight_smile: - that’s what I’m going for.

Even with a Quad Core system with 4GB of RAM and the fastest 7200rpm hard disk that money can buy it still takes up to a minute to fire up my PC, and honestly, I wonder why.

My bootup time was 38 seconds from Grub into KDE3 when I installed my system and now months later installing and removing software it still is, this is something I have not seen in my years of windows using.

If you remove the splash screen you will notice that the “longest” delay is probably DHCP as you actually see the screen pause for a few seconds, I doubt things like that can go faster as its send, wait for answer, recieve, confirm etc. etc.

And then there is ofcourse the huge amount of “possible” devices that needs to be checked for, the kernel try’s to take care of all devices not just the once on your system.

On a final note, the world is speeding up fast enough as it is, having to wait 60sec on a system boot is not so bad, take a sip of coffee, say hello to someone near you etc. etc. :slight_smile:

I think the OP brings a great topic. I believe that we all would be delighted with faster startup times and I think that it should be one of the goals for any OS. Afterall, the OS is there to improve our productivity, right?
Sure, most of us wouldn’t mind waiting another 20 or 30 seconds to have more features added but why not give the user the option to choose between a faster startup and a loaded startup?
Or even better, why not to improve the usability of the application libraries limiting the quantity of libraries loaded or improving their functionality?

Just my two cents.

Sure, most of us wouldn’t mind waiting another 20 or 30 seconds to have more features added but why not give the user the option to choose between a faster startup and a loaded startup?

As I said - that could be done with the runlevel-Editor. Would be nice to have a respective option during the initial install, though, but I don’t mind configuring that afterwards.

Or even better, why not to improve the usability of the application libraries limiting the quantity of libraries loaded or improving their functionality?

I’m sure that’s permanently done - bootup improves with every new SuSE-version I install, but that has its limits, of course. The more stuff is checked during the boot-process, the better the hw-compatibility is. I really like to be able to simply throw my HDs with SuSE in a new machine with a different cpu, RAM and motherboard without the need to configure that before or (even worse) afterwards.

There are a few places in the startup sequence where information is waited for, the one that comes to my mind is getting an address by DHCP. I’m sure there is a lot of room for improvement in eliminating such waits or reordering events so that they are done later. No matter how fast your CPU or disk, they all wait at the same speed. :wink:

Same “problem”, running a new install of latest stable version OpenSuse on a brand new Lenovo Thinkpad Z61m with 2G RAM, 60G OCZ CoreV2 SSD. Applications start fast but boot is definatly a major disapointment… 45 seconds from pressing powerbutton to usable desktop. Did remove unneeded services from System services.

I have built a couple of desktop computers with SSD’s and WindowsXP and they both boot in less than 25 seconds. That’s the time from pushing the powerbutton to usable desktop.

As the original post stated I’m also “feeling unoptimized”…

This is far from a new idea or concept. Many other distros are currently working on backgrounding items like netwaork / dhcp/ and other daemons during bootup, while also manipulating the boot order or events to provide what “feels” like a faster boot time.

One problem is simply one of perception. If any of you run a server and only have ssh access to the server, the computer “feels” like it come up quick due to when the networking and ssh daemons are fired off. It is only later when ftp/ apache/ etc run. SO to people waiting on the web site to come back up it “feels” slower than the guy who simply ssh ins.

Another problem is poor thinking.

I have multiple seagate sata 2 (with the jumper off so I actually get 300) high end drives, only two gigs of ram, and an older amd 2200 dual core cpu.

My computer boots in under 40 seconds.

Why is this? Some of it has to due with partitioning. Every linux distro I use (including suse) has lousy partitioning thinking as default. I understand this is for simplicity and for people to have the least amount of issues. But the problem is it relates to the same type of thinking that windows uses.

Simple techniques like splitting /tmp /var /usr/ srv/ into their own partitions help immensely, but the key (in every OS) is to separate the swap from the OS / Programs and two understand how the physical drive operates.

I have a 320 GB drive split for SUSE 11 and a 620GB drive split with swap and /home on the drive.

By partitioning the OS drive with /boot then /usr then /var from the outside of the drive in you will be placing the executable files on the fastest section of the drive, followed by their “workspace”, etc.

Sadly, my quadcore with 10 sata2 drives, 4 gigs of matched dual channel ram, etc has to wait for any distro of linux (though I am seriously warming up to suse) as I have decided that I will have to wait until the next round of releases of distros as they are not quite ready for x38,x48,or x58 motherboards, but should be by the end of 2008.

Last concern to consider before tweaking startup / running daemons (whats with bluetooth always set on for by default? most people don’t even use it) Is when you share a drive with multiple OS’s.

Typically windows goes first on a drive (the fastest part I remind you), then people put linux further in on the drive(slower). They notice windows is slower than it should be as it is always trying to cache / index everything, including partitions it can’t read but knows is there, which in turn slows it down even worse (I know, turn off the indexing service which is useless anyway).

The point of this post is simple: do your job installing Suse better than the default layout and you will immediately begin reaping the speed benefits of it.

Purchase Seagate drives which utilize the perpendicular technology which is also faster than traditional tech niches. Make sure you get a .11 or later drive which removes old technology which slows down and heats up the drives. These drives are approaching the speed of raptors due to some speed comparisons found at major hardware sites.

Once you have this hardware side figured out, you will be in a fantastic position to boot in under 20 seconds, once the devs move more in that direction.

Now you are ready to start disabling bluetooth and other daemons which are unnecessary, but don’t expect a huge jump from this. Linux has a wonderful way of keeping these services so small they almost amount to nothing.

The slowest part of the bootup is typically networking.

Try running a static ip and not using dhcpd.

Just some random quick thoughts from an old timer.