2008年12月28日日曜日

Ubuntu 高速化

先日、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    (設定を反映)

■ 次にやること

まさおのブログ (表): Firefox アドオンについて

0 件のコメント: