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