2007.03.07 ZFSでいられない 前回(http://blog.ninth-nine.com/diary/20070304.txt)作業した直後, pjd 氏からアナウンスがありました。 http://lists.freebsd.org/pipermail/freebsd-fs/2007-March/002730.html 基本的には私が作業したものと同じものがリリースされたわけですが, 集大成だけあって, 色々変わってます! (ていうか気付け > 私) ■改善項目 1. メモリ使用量が劇的に改善 積極的にメモリをパージする機構が入ったせいか, メモリ使用量が減 っています。使えれば使いまくるようで, ピークには, 700MB 程度使 うことがありますが, そんなにメモリを積んでなくても, パニックし ないようです。これでディフォルトカーネル (ユーザーランドに 3GB 割り当て)でも十分使用可能です。 2. mount -a zfs が機能する 改善項目に載ってましたが, 合わせて /etc/fstab に下記のような記 述があっても, 問題なくマウントしてくれました。 /etc/fstab - - - - - - - - - - - - - - - - - - - - - - - - zdevel /devel zfs rw 0 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - もっとも, zfs mount -a だと /etc/fstab に記述しなくても使える ため, 利便性(/etc/fstab をメンテナンスする手間)を考慮する必要 があるかもしれません:-)。 3. INVARIANTS/INVARIANT_SUPPORT 不要 前回のパッチでは INVARIANT/INVARIANT_SUPPORT カーネルオプショ ンを指定していないとコンパイルできませんでしたが, 今回のパッ チでは不要です。これ無しで 1.5〜2 倍の性能改善が得られました。 ■問題箇所 1. /boot/loader.conf に zfs_load="YES" 入れるとパニックするのは 変わらず。 orz 2. コンパイル不可能:-) いくらか仮定があって, 一発でコンパイルが通りません。 a. cddl/lib/libzpool が libthr を要求しているにも関わらず, build 用として事前にコンパイルが行われるバイナリに lib/libthr が含まれていないため, リンクができず停止します。 http://lists.freebsd.org/pipermail/freebsd-fs/2007-March/002740.html b. めんどくさいので, あまり検証してなかったけど (make includes で逃げた), ヘッダー処理回りで既にインストールされているも のを参照している問題があります。 http://lists.freebsd.org/pipermail/freebsd-fs/2007-March/002741.html とりあえず iozone -a でデータ取中:-)。 Written by 重村法克