先日、Ubuntu 起動時間短縮 を試みたが、他の手段も試してみる。
■ Ext3 ファイルシステムの高速化
Ubuntu の Ext3 ファイルシステムのデフォルトは data=ordered になっている。
これを data=writeback に変更する。
参考: linux-2.6.13-rc3/Documentation/filesystems/ext3.txt の和訳
* オーダモード
data=ordered モードのとき、ext3 は表面上、メタデータのみをジャーナルしますが、 メタデータとデータブロックは、トランザクションと呼ばれる1つの単位に、論理的にまとめられています。 ディスクに新しいメタデータを書き込む時がきたら、関連データブロックが先に 書き込まれます。一般的に、このモードは、ライトバックより少し遅い動作となりますが、 ジャーナルモードより、かなり早くなります。
* ライトバックモード
data=writeback モードのとき、ext3 は常にデータをジャーナルしません。 これは、XFS, JFS, ReiserFS のデフォルトモード(メタデータジャーナリング)と 同レベルのジャーナリングを提供します。 クラッシュ + リカバリ で、クラッシュ直前に書き込まれたファイル内に不正データが 現れるかもしれません。このモードは、典型的に、最高の ext3 パフォーマンスが得られます。
# vi /boot/grub/menu.lst 2 箇所に rootflags=data=writeback を追加 (変更前) # defoptions=quiet splash (変更後) # defoptions=quiet splash rootflags=data=writeback (変更前) # altoptions=(recovery mode) single (変更後) # altoptions=(recovery mode) single rootflags=data=writeback # update-grub # vi /etc/fstab relatime を noatime,nodiratime,data=writeback に変更 UUID=**** / ext3 noatime,nodiratime,data=writeback,errors=remount-ro 0 1 # tune2fs -o journal_data_writeback /dev/sdb2
■ swap の調整
swappiness の値 (0〜100) を調整することで、swap の頻度を変更することができる。
値が大きいほど、swap の頻度が多くなる。デフォルトは 60。
メモリが 256MB あれば 20 以下でも良いらしい。
■ 一時的に変更する場合 # sysctl -w vm.swappiness=20 # sysctl -n vm.swappiness 20 ■ 常に値を変更する場合 # vi /etc/sysctl.conf vm.swappiness = 20 を追加
■ 結果
bootchart で確認したところ、USB-microSD ブート環境で 31 秒 (4 秒短縮)。
■ 2009/01/11 追記
grub のタイムアウト時間を変更 (デフォルト 3 秒 → 2 秒)。
これは bootchart の起動時間には反映されないけど、3 秒も必要ないので、1 秒だけ短縮。
# vi /boot/grub/menu.lst timeout 3 を timeout 2 に変更
■ 2010/05/23 追記
grub のタイムアウト時間の変更方法が、10.04 では変わっていた。
デフォルトも 10 秒になってた。
# vi /etc/default/grub GRUB_TIMEOUT=10 を GRUB_TIMEOUT=2 に変更 # update-grub (設定を反映)
0 件のコメント:
コメントを投稿