FreeBSD kern.maxdsiz

全文検索エンジン msearch で,うちのメールアーカイブをインデックス対象として 20000 通を越える大量データを処理したところ,Out of memory during request for xxxxxx bytes, total sbrk() is ... 云々のメッセージを出力して,インデックス作成が abend してしまった(abend は「夕べ」という意味のドイツ語ではなく,Abnormal End = 異常終了というコンピュータ用語である。為念。昔,夕方になると一日の業務のゴミが原因で abend するシステムバグの対策をさせられたことがあり,Abend abend と呼んでいた。関係ありませんけど)。

これは FreeBSD の管理するプロセスのデータセグメントのサイズの制限を超過したときに出るメッセージで,プログラムが自分の仮想メモリに大量データを抱え込んでいると,この事態に陥る可能性が出て来る。ま,制限値を増やせばいいのだけれど,20000 文書程度で出てしまうのもちょっとなんとかならないかなぁと思う。文書数が増えるといずれまた再発するのは確実だからである。Google は 20 億文書インデックスを達成したとき誇らしげにその広告を出していたが,確かに誇るべき数字である。とはいえ,情報検索の世界では数千万件のデータベースは最近では常識的な規模である。高々 20000 文書で OS のメモリ制限に引っ掛かるのは改善できないものか。

とにもかくにも対策。sysctl -a | grep maxdsiz で現状値を確認すると,536870912 だと知れ,約 500MB。だいたいその 2 倍くらいにチューンしてみる。/boot/loader.conf に次の 1 行を書き足してリブートする。

kern.maxdsiz="1024M"

sysctl で再確認すると,1073741824 に値が拡張されていた。これで msearch genindex.pl がうまく通るようになった。

Moon Calendar

Profile

ISAO YASUDA。システムエンジニア。神奈川県在住。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

この文書はフィクションであり,実在する個人,団体等とは一切関係ありません。

R-18 指定サイトです。そのうち「18 歳以上ですか」の認証を入れる予定です。

文書の記述内容は無保証です。不適切な表現があればコメントにてご指摘ください。

コメント,トラックバックは,現在,運用を停止しています。ご意見等ありましたら isao@yasuda.homeip.net 宛電子メールにてお願いします。

Links

Entries

About this entry

Written by isao at 2011年5月13日 23:35.

Previous: PFonts Cyrillic LaTeX fonts package

Next: 電話器を買う

Recent Entries in Main Index.
All Entries in Archive Index.

March 2012

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Emacs: Monthly Archives

Powered by Movable Type 5.12 Powered by FreeBSD 8.2-RELEASE
blog counter