SNAPSHOTs Notes: 2002 年 2 月 10 日

はじめに

今週もリリース明けで静かなのかな,と思いきや,週の後半で 5-current で KSE Milestone3 の動きがあって,しばらくまた不安定ぎみになるのかな, という雰囲気もあります.また,Security Advisory も 2 つ発行されていますので, 影響を受けるシステムを動かしている場合には,対策をするのが良いでしょう.

5-current を試す時に

本来 5-current は FreeBSD の開発者や,いわゆる冒険家向け, ということになってはいますが,将来のリリース版になるのは間違いないわけです. 将来に備えて,今のうちから実際に試しておきたい,と思う人も多いかと思います. また,実際に開発環境としている人にとっても, より快適な環境で作業を行いたいと思うのはとても自然なことです.

5-current では,もし 4-stable にも同じ機能があるならば, 基本的にはその機能については同じように使えるはずです. が,いくつかの,特にパフォーマンスに影響を及ぼす部分で 大きく(あえて理由があって)変更されている点があります. ここではそれらの点について何が違うのか, どうすると 4-stable と同じようにできるのか,を書いてみます.

malloc の初期設定

FreeBSD の malloc ライブラリは,マニュアルにもある通り, オプション設定があり,適切なオプションを設定すると, いくつかの挙動が変えられるようになっています. 4-stable では,デフォルトでこのオプションは何も指定されていないのですが, 2000 年 7 月以降の 5-current では, オプション AJ が指定される状態がデフォルト,と変更されました. これによって,malloc 回りに問題のあるアプリケーションを未然に発見でき, また発見した場合のデバッグが容易になります. しかし,J オプションが有効になったことにより,特に頻繁に利用される malloc() 等の呼びだしが遅くなってしまいます.

この状態をやめるために,/etc/malloc.conf を使ってシステム全体の設定を変更する方法が使えます.やりかたは簡単で, (root 権限で) ln -sf aj /etc/malloc.conf を実行するだけ,です. パフォーマンスの心配だけなら,a を消して ln -sf j /etc/malloc.conf だけでも良いでしょう.

ATA disk の write cache 設定

4.4-RELEASE の時に「4.3-RELEASE に比べて disk のアクセス速度が遅くなった!」 と思った人は多いかもしれません.これは,いくつかの理由で ATA disk の write cache がデフォルトで無効になったことによります. あまりにも遅くて不評すぎたため, のちにデフォルトは有効になるように戻されています.が, 5-current はまだデフォルト無効のままになっています.

write cache を有効にするのは簡単です./boot/loader.conf 等に hw.ata.wc="1" と記述を加えて kernel を再起動させるだけ,です. 再起動なしに(kernel 内にある)この値を変更することはできないので, 注意してください.

いくつかの debug 用 kernel option

5-current の kernel では,debug 用として, WITNESS という kernel option が(4-stable に比べて)追加されています.また,4-stable にも DDB, INVARIANTS, INVARIANT_SUPPORT などのデバッグ用オプションがあります. これらは「用意されている」だけで,通常の kernel,具体的には GENERIC カーネルでは有効になっていません.しかし, 5-current の GENERIC カーネルでは, これら 4 つのオプションが有効になっています.

DDB は通常の動作には関係ありませんが, 残り 3 つのオプションは, いくつかの追加チェックを行いながらカーネルが動作するため, 多少ですが動きが遅くなることが確認されています. 必要がなければ,これらの kernel option を外したカーネルを作って使う, ということになります.

もちろん,本当にデバッグしなければいけない時には malloc や kernel option はそのままにしておいたほうが良いことは言うまでもありません. どうしても 5-current を目の前で使わざるを得なくなった時には, 上記を参考にして設定を変更した上で利用すると, 「本来の」5-current のパフォーマンスを得ることができるでしょう.

次回にむけて

現在の SNAPSHOTs サービスがどうやって作られているか, という紹介も話の中にいれていこうかな,と考えています. 本当ならば今週くらいからと思っていたのですが, 今週は上記の話だけで時間いっぱいとなってしまいました. current@FreeBSD.org 等メーリングリスト等の話題なども, うまくいれていけると良いなぁとは考えています. みなさんからの話題提供(「こういう話はあると良いのではないか」など) もお待ちしておりますので,何かありましたら buildadm@jp.FreeBSD.org までご連絡くださいませ.


Appendix


目次に戻る
[Powered by FreeBSD]
www@jp.FreeBSD.org
Copyright (C) 2002 The FreeBSD Project (Japan). All rights reserved.
$Date: 2003/09/03 11:49:35 $