gdm でハイバネートしたら起動は早くなる? [Vine Linux]
Trac の起動の高速化んところを見ていて、もっと
早くならないかなと考えていてふと思い付いた。
以前どこかで読んだんだけど、起動自体はハイバ
ネート/レジュームの方が早いんだけど安定性が
不安で、ちゃんとレジュームしてくれずにデータ
が消えたりしたら困るから使ってない、みたいな
意見があって、確かにそうだなと思っていた。
でも、それなら万一レジュームに失敗しても実害が
ない状態=gdm のログイン画面、からハイバネート/
レジュームしたら良いんじゃない?、と思いついて
早速試してみた。
で起動時間は結果、
[gdm からハイバネートした後の起動] 25秒
[gnome からハイバネートした後の起動] 32秒
と、想像してたよりも早くならず微妙な結果になって
しまった;
この辺はデフォルトで起動するサービスの数とか、
ハードの性能にもよるだろうから、ちゃんとやるなら
もっと条件を整える必要がありそうだけど、さてどうした
ものかなぁ…。
# 興味のある人のコメント求む。
早くならないかなと考えていてふと思い付いた。
以前どこかで読んだんだけど、起動自体はハイバ
ネート/レジュームの方が早いんだけど安定性が
不安で、ちゃんとレジュームしてくれずにデータ
が消えたりしたら困るから使ってない、みたいな
意見があって、確かにそうだなと思っていた。
でも、それなら万一レジュームに失敗しても実害が
ない状態=gdm のログイン画面、からハイバネート/
レジュームしたら良いんじゃない?、と思いついて
早速試してみた。
で起動時間は結果、
[gdm からハイバネートした後の起動] 25秒
[gnome からハイバネートした後の起動] 32秒
と、想像してたよりも早くならず微妙な結果になって
しまった;
この辺はデフォルトで起動するサービスの数とか、
ハードの性能にもよるだろうから、ちゃんとやるなら
もっと条件を整える必要がありそうだけど、さてどうした
ものかなぁ…。
# 興味のある人のコメント求む。
hibernate するタイミングよりも、hibernate するメモリの上限を指定したほうが(たぶん)ほとんどの環境で速くなります。いらないところを削ってからhibernateするようになるので、書き出し/読み込みの分量がへり結果としてはやくなる感じ。
起動の高速化の代わりに hibernate/resume を使うのは組込み機器などで最初からhibernate image から起動しちゃうという場合は有効かなと思いますが、通常のシステムでの boot の高速化の代替にはならないんじゃないかと思います。
by daisuke (2009-04-10 14:03)
やる前からそんな予感はあったものの、一度は実際にやって確認してみないと、と思ったんでやってみました;
drop_caches と組み合わせて、"Safe Hibernate"とか"Quick Shutdown"みたいな名前にしてシャットダウン時に選べると面白いかなと思ったんですけどねぇ…。
by kazu (2009-04-11 10:52)
pm-utils に image_size_limit を計算して仕込むスクリプトをいれました。pm-hibernate で適当に buffers/cached を除いたサイズに制限して hibernate してくれます。(手元の環境では多くの場合数百MB程度に小さくなってさくっと hibernate してくれるようになりました)
resume 時に buffer/cache が捨てられているために、レスポンスは悪くなりますが、まあトレードオフというところでしょうか。。
Quick shutdown みたいなのはあってもいいかもしれませんが、GDM から先がかなり長いので、GDMからhibernateするメリットってかなり微妙な気がします。(cache を drop するとさらにgdmからのloginに時間がかかるようになりますし)
by daisuke (2009-04-11 12:31)
おっと、なんか思い付きに反応してもらってすいません。
image_size_limit 良いですねー。
更新が来たら自分で入れてる drop_caches のスクリプトを抜いてテストしてみます。
by kazu (2009-04-12 02:10)