Alternative Init System

Rocco Stanzione grasshopper at linuxkungfu.org
Sun Feb 26 22:29:36 GMT 2006


I'd be surprised if this hasn't been brought up before, but since I haven't 
seen it I'd like to mention it here.  My experience with supervisor-style 
init systems, specifically runit-run, has left me with the opinion that the 
sysV system has served its purpose and is ready to be replaced.  I spend a 
lot of time on the support channels on IRC and I'd say startup times are 
among the top 20 complaints I see.  Since most of the startup time is 
consumed by starting services, and since supervisor-style init systems start 
services concurrently and very quickly, this could make a huge impact.

I don't think that this by itself constitutes an excuse to make such a huge 
change, necessarily, but I do think it's a compelling argument that should be 
part of the discussion, if there's to be one.  Stability is another.  I've 
experienced stability problems with poorly written init scripts, but 
otherwise it's inherently more stable than sysV by virtue of the fact that 
services are "supervised" and that runit-run (for example) knows how to 
restart services that have failed, crashed, locked up etc. without user 
intervention.

Not all services are good candidates for such a system because it's assumed 
that a supervised service can be un-daemonized and can write its logs to 
stdout and/or stderr, and of course some services aren't daemons at all.  But 
I think moving services that can be moved to a system like this could make a 
significant impact on stability, startup times, and in some cases 
performance.

I'd like to hear any input you guys have on this.

Thanks,

Rocco



More information about the ubuntu-devel mailing list