Ubuntu 7.04の設定で起動時間を47秒から19秒に劇的に短縮したというtipsとその他のチューニングの紹介。なかなか速いですね。私も一部やってみたところ、確かに効果がありました。
- LC's All-Purpose Self Rising Flour, er, Blog: Making Ubuntu boot in 19 seconds
- Tweak ubuntu for speed - TVease Wiki (リンク切れ。次のページを参照)
Tweak ubuntu for speed - TommasiNET
ubuntu feisty 高速化メモ - けつなめ(上のページの日本語の解説)
いろいろ書いてありますが、ざくっと列挙+追記してみます。基本的にUbuntu用ですが他のLinuxでも使えるものも結構あると思います。
- bootchartで起動時間をモニタする(リンク1)
起動時の消費時間を図示してくれるソフト
apt-get install bootchartでインストール可能。
起動毎に/var/log/bootchart/*.pngになかなかかっこいい起動中のシステムアクティビティの時系列チャートが出来ます。 - Boot-Up-Managerを入れる
Zolved - Tune Boot-Up-Manger for better performance of Ubuntu - いらないサービスを止める
apt-get install sysv-rc-conf
sudo sysv-rc-conf
=> nvidia-kernelなど結構不要なものがあります。(もちろんnvidiaのグラボの方はそのままで)。powernowdはAMDだけでなくIntelPCでも止めないように。(省電力機能付CPUなら必ずONで) - ディスクキャッシュをwritebackにする(リンク2)
ライトバックキャッシュは効果があると思われますが、電源断や不意の再起動などでファイルが壊れる可能性が高まります。ノートPCはバッテリーがあるため意外に電源が切れる可能性が低く、1.8inch/2.5inchなど性能の低いHDDを使っているので、より効果が期待できるかもしれません。(電池切れにはご注意)
設定はややこしいのでリンク2を参照下さい。
ざっくりやることとしてはfstabでマウントオプションをdata=writebackにして、tune2fsでjournalをwritebackにする。'/'に関してはgrubでrootのマウントオプションも変更。
- static IPアドレスにする (リンク1) -- これが結構大きい模様
- avahiを止める (リンク1)
/etc/default/avahi-daemon中のAVAHI_DAEMON_START=0 - hplipを止める (リンク1)
/etc/default/hplip中のRUN_HPLIP=no
- ipv6を止める (リンク2)
/etc/modprobe.dにbad_listというファイルを作成し、
alias net-pf-10 off
の1行を入れる。
- vm.swappinessの調整(リンク2)
これはわかりにくいパラメータですが、スワップを積極的に使うかどうか=メモリをプロセスとキャッシュでどう使い分けるかのパラメータです。低い方がプロセス優先といっていいでしょう。
デフォルトは60です。メモリが多いマシンはこのままでOKだと思います。
私はリンク2にあるように値を小さくして20位にしました。 - bootスクリプトの並列実行をOnにする(リンク2)
/etc/init.d/rcの中でCONCURRENCY=shellにする - /etc/readahead/bootを最適化する(リンク1) -- これも結構時間がかかっている
TIP: Improve bootup speed by reprofiling bootup - Ubuntu Forums
少し面倒そうなので私は試してません。
といったことで最初47秒だった起動時間を19秒まで短縮できたそうです。(P4 3.0GhzのPC)。あんまりこまごまとしたチューニングをたくさんするのも大変ですが、少しでも速い方がうれしいですよね。
他にこんなエントリーも発見。10 Simple steps to a faster Ubuntu booting.こちらはちょっと今さら感がありますが、/etc/fstabの中のvfatのエントリの最後の数字を0にしてfsckを止めるという設定です。
起動時のfsckを抑えて、シャットダウン時に行うようにするautofsck(ブート30回毎のfsckを後回しにするAutoFsck)も有効かもしれません。
Linuxはいずれも基本は一緒とはいえ特にデスクトップ向けのUbuntuやFedoraは変化が速く情報はナマモノです。少し古い情報は役に立たない場合もあったりしますよね。今回は時間がないのでざっとですが、そのうちもう少し詳細をチェックしてメモります。
Ubuntuに限らず不要なデーモンを止めてしまうのは起動時だけではなく、オペレーション中もメモリやCPUをセーブできて少し効果があります。最近のLinuxデスクトップは起動しただけで なにやらいろいろ走るため、少しでも減らしておけばうれしいのではないでしょうか。