Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: $ON_MEMORY_MAX の適正値



>                                            千葉市中央区長洲
>                                                    藤原  誠
こんにちは。
jews> >ML 内では,512MB のメモリーを積んでいる場合は,50000000 程度が妥当である
jews> >ように書かれていましたが,これより値を大きくしてもエラーが出なければ問題
jews> >ないということで良いのでしょうか?
jews> $ON_MEMORY_MAX を 350000000 として試してみたところ ,mknmz を二つ同時に
jews> 動かしてみてもインデックスの書き出しまで支障なく行えているようです.

まずは確認ですが
512MB のとき 50M ( 50 000 000) と ML のメールに書いてあったが
            350M (350 000 000) でも問題がない
ということかと思います。
$ON_MEMORY_MAX は、
文書を読んで、その読んだ大きさの合計がその数値になるまでは
読み続けながら索引を作る。その文書の合計が、その値になったら、
索引を書き出して、読んだものは消して、また新しく読み続ける。
ということで、
$ON_MEMORY_MAX は
・直接使用する記憶域の大きさに対応している訳ではない。
・従って、文書の性質や、索引語の数などによって、実記憶の大きさと、
  適正値との関係は変化する
・文書全体の大きさ(合計)が大きければ、必要な記憶域はそれに対応
  して増えていくので、これもまた 
  「実記憶の大きさと、$ON_MEMORY_MAX の適正値は変化する」要因
  を増やしてしまう。

ということで「単に目安である」という理解かなと思います。
僕の場合、メールだけの集合を mknmz する時の目安として、自分用に
ですが、

$ON_MEMORY_MAX      = 5000000;  #  5M   -- 64M Memory
$ON_MEMORY_MAX     = 20000000; # 20M   -- 192M
$ON_MEMORY_MAX     = 30000000; # 30M   -- 320M
$ON_MEMORY_MAX     = 40000000; # 40M   -- 500M
くらいでやっています。元の ML の情報と同じようなものですね。
# もし違っていたら、どなたか訂正して下さい。
---
(藤原)
http://www.ki.nu/software/namazu/tutorial/