お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-04-02 18:49:50

gontomo
メンバ
From: 北海道
登録日: 2010-02-17

10.04のさらなる高速起動に挑戦してたら、面白いことを見つけた

質問ではなくて、報告です。 ※ここに記載の内容に保証はありません

https://forums.ubuntulinux.jp/viewtopic.php?id=7589 の中で出てきた高速起動にちょっと燃えてしまいまして、基本的にはVirtualBoxにインストールした10.04を対象にチューニングをしてみたのですが、その中でVirtualBoxで面白い傾向を発見したので報告です。

事の発端は、10.04のインストールを何度か繰り返しているうちに、インストール直後のデフォルトの状態にもかかわらず起動時間が異なるケースがあることに気が付いたことです。
仮想マシンのCPU/メモリの設定をいじったときに、起動時間に変化がみられることが分かりまして、bootchartをつかって色々な組み合わせで起動時間を計測してみました。

Host環境
OS     Windows7 64bit
CPU    Intel Core 2 Quad Q6600 2.4GHz
Memory 4GB
HDD    Hitachi HDP725025GLA380(7200rpm)
VirtualBox 3.1.6

Guest環境
Ubuntu 10.04β1 x86 Kernel 2.6.32-19-generic
高速化チューニング済み(基本的にはいらないdaemonを削っただけ)

計測結果

コード:

1 CPU    256MB        19.0秒
         512MB        18.9秒
        1024MB        33.8秒

2 CPU    256MB        13.0秒
         384MB        12.2秒
         512MB        12.4秒
         768MB        13.0秒
        1024MB        23.0秒

3 CPU    512MB        16.2秒

4 CPU    384MB        19.9秒
         512MB        20.8秒
        1024MB        52.2秒

いつも、1CPU/1024MBの指定で仮想マシンを作成していたんですが、なんともはやな結果が出ました。
起動時間だけをみると2CPU/384MBが最速なんですが、起動後のアプリ利用とかを考えると512MBにしておいたほうがバランスはいいような気がします。

メモリの増加に伴って起動時間がかかるのは、もしかしたらホスト側のメモリ確保の都合かもしれませんが、いずれにしても割り当てメモリを増やすと起動に時間がかかるようになるということが分かります。

また、仮想マシンだからということが理由かもしれませんが、2CPUがベストパフォーマンスで3/4にすると返って時間がかかるようになるというのも興味深いところです。

VirtualBoxで作業をする人は参考にしてみてください。
12~3秒で起動って下手なアプリの起動よりも速いんですけど・・・

オフライン

 

#2 2010-04-02 22:37:33

pc944
メンバ
From: Japan
登録日: 2010-03-03

Re: 10.04のさらなる高速起動に挑戦してたら、面白いことを見つけた

あの、その高速起動に関して、詳しく教えてもらえませんか?

オフライン

 

#3 2010-04-03 22:58:31

gontomo
メンバ
From: 北海道
登録日: 2010-02-17

Re: 10.04のさらなる高速起動に挑戦してたら、面白いことを見つけた

#1でも書いた通り、基本的にはいらないdaemonの起動を止めただけです。
どのdaemonと止めたかは秘密です・・・というのは冗談ですが、どれが必要でどれが必要でないかは各環境によって異なるのでご自身で調べてみることをおすすめします。

参考までに止めたもの

コード:

plymouth関連
tty[2-6]
bluetooth
cups
dns-clean
fancontrol
ondemand
pcmciautils
pppd-dns
rsync
saned
screen-cleanup
speech-dispatcher
等

しかし、10.04の場合はupstartでの起動でかなり最適化がなされているので、この手法では苦労したほどの効果が出ないということが改めて判明しました。
それよりもこの実験をすすめる中で、Virtualboxの設定によってこれだけ大きな差が出ることが分かったのが収穫でした。
実際に検証してみた訳ではないのですが、実機でも似たような傾向が出る可能性があると思うのです。

ちなみに私がプライベートで所有しているノート(Celeron SU3500 1.2GHz/ Mem 4GB / HDD SATA2 5400rpm)に入れてある10.04では、上記と同様のdaemon停止状態で起動時間がちょうど30秒前後です。

オフライン

 

#4 2010-04-05 13:19:33

gontomo
メンバ
From: 北海道
登録日: 2010-02-17

Re: 10.04のさらなる高速起動に挑戦してたら、面白いことを見つけた

9.10のbootchartでちょっとおかしなことを見つけました。
bootchartはデスクトップログイン完了=ユーザー操作ができるようになるまでの時間を計測しているものだとばかり思っていましたが、9.10のbootchartではどうやら異なるようです。

9.10での計測で起動時間が1:15とかでていて、でも体感上そんなにかかっていないよなと思っていたのですが、自動ログイン後にユーザー操作ができるようになった直後にアプリ起動をすると、そのアプリの起動もbootchartのグラフに表示される=bootchartが示した起動時間よりも早い段階で操作ができるようになっているということが分かりました。
ちなみにこの環境で、自分で起動したアプリは0:20=20秒の段階で起動が記録されていたので、実際の起動時間は1:15ではなく、0:20未満だったのだと推測されます。

上記の20秒は仮想マシンでの数字ですが、実機でもbootchartでは1:16となっているものが、ユーザー起動アプリが0:36で起動されるのを確認しました。

ちなみに10.04のbootchartではユーザー起動のアプリはグラフには出てこないので、純粋に起動時間とイコールと考えてよさそうです。


どなたか、bootchartが何を持って起動完了と判断しているかご存知の方いますか?

オフライン

 

#5 2010-04-05 17:12:31

pc944
メンバ
From: Japan
登録日: 2010-03-03

Re: 10.04のさらなる高速起動に挑戦してたら、面白いことを見つけた

自動起動するアプリではないでしょうか。
操作できるようになってからも、キーリングデーモンなどが起動していると思うので。

オフライン

 

#6 2010-04-05 18:49:31

gontomo
メンバ
From: 北海道
登録日: 2010-02-17

Re: 10.04のさらなる高速起動に挑戦してたら、面白いことを見つけた

分かりました。
/etc/init/bootchart.conf に書かれていました。

9.10でも、10.04でもupstartで起動したrcが終了した時点から45秒後にbootchartのログ作成が終了します。
それで、その後に集計・グラフ化する際の処理が9.10と10.04で異なっていて、9.10ではログをそのまま集計、10.04では指定されたプロセス(compizとかmetacityとか)を起動した後でidleが発生した後のログより手前のみを集計という指定がbootchart.confに書かれていました。(9.10のbootchartではこの処理はできない)

つまるところ、bootchartの結果を9.10と10.04で単純比較してはいけないということになるかと思います。

9.10はbootchartのおかげで損をしている可能性が出てきました・・・

オフライン

 

Board footer

Powered by FluxBB