2011年2月28日月曜日

正式アップデートされたSqueezeとUpstartについて

先日正式リリースされたDebian Squeeze(スクイズ)で
起動がsysvinitからupstartに変わる!っていう前情報に心浮かれていたのだが
どうも変更は変更は来なかったぽい。

ちなみに組み込みボードでsqueezeインストールしてaptitudeでupstartインストールして、
manコマンドでupstartの設定方法を調べつつ、Ubuntu環境みつつ(過去記事参照)
initsの代わりになる「/etc/init」ディレクトリを作成して設定ファイルの移植をやった事がある。

入れ替えたとき、起動時間が劇的に!(人によるが)変わると思っていた。
しかし現実派sysvinitをそのまま移植した程度では、
1分かかった起動が10秒くらい早くなる程度でした。

※debootstrap(最小構成)にhttpサーバ入れただけの構成なので、早くなる要素は少ないし、
チューニングしてないのも影響あると予想してる。


よく考えてみれば起動シーケンスで早くなる部分ってサービス立ち上げの時であって、
Sysvinitでランレベルによるシーケンス起動からイベントドリブンになった部分。
つまり、

1.電源ON
2.ブートローダ立ち上げ
3.Kernel展開
4.ハード初期化
5.サービス起動

Upstart導入で1~4は早くなる余地は無いんだよね
5からUpstart本領発揮だと思うので組み込み用途にはあまり意味なさそうだ。


あと、ざーっと起動ログ眺めて遅いなと思ったのは、
・電源ON~ローダ立ち上がるまで(5秒?)
・u-boot(ローダ)の待ち時間(3秒設定)
・SDカード初期化(5秒?)
・DHCPクライアント起動(5秒?)
・ログサーバ起動(3秒?)
・lighttpサーバ起動(3秒?)
あとは滝のようなログで1秒未満のがぽつぽつあったくらい。

上で出した数字を合計するだけでも25秒だから
大して早くなる訳でもなさそう。
なので、早くしたいならSysvinitはそのままでディスプレイOFFや
サスペンド処理で起動時間早くした方が現実的な気がしたのが結論。
(それでも早くするなら個人的にはbusybox使うといいと思う)
コメントを投稿

Androider