[Namazu-users-ja 460] Re: mknmz の挙動について

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2005年 8月 26日 (金) 01:21:37 JST


寺西です。

Namazu 2.0.14 をお使いですよね?

Naoya Wakasugi wrote:
> 
> あるディレクトリの検索インデクスを作る時、どうやってもアウトオブメモリ
> になってしまうので、この方法を試しながら top で眺めていましたが、確か
> に exec し直した直後は mknmz がぐっと小さくなりますが、インデクスを書
> き出す時に、すごい勢いで増加し、結局同じこと(アウトオブメモリ)になっ
> てしまいますが、そういうものなのでしょうか。それとも、他に渡すべきオプ
> ションがあるのでしょうか。

そういうものです。
--checkpoint はどちらかといえばデバッグ用のオプションです。

メモリ開放忘れ等で、メモリをどんどん消費してしまったものを、exec し
直すことで開放し、メモリの浪費を防ぐといったことが主な目的です。
このため、不必要にメモリを消費してしまっている場合には、--checkpoint
を付けると、消費メモリを抑えることができるのですが、正常動作して
いる場合は、--checkpoint を付けても消費メモリはさほど減りません。

実行途中は、一時的に消費するメモリは少なくなりますが、上記のように
インデックスを書き出す時点でほぼ全データを書き出しますので、
メモリ上にほぼ全データが載っていることになります。
インデックスが相当大きくなってメモリに載らなくなった場合には、
メモリの増設が必要になるかと思います。
 
> 素直にメモリを増設するか、重そうなファイルを切り捨てるしかないのでしょ
> うか。

実メモリを増やすのが良いと思いますが、スワップを増やすことで、
(時間はかかるが)実行できるようになるかもしれません。また、他の
プロセスをとめるとか。
(実メモリのサイズと、インデックスファイルのサイズがどれくらいなのか
に興味はありますが...。)

重そうなファイルを切り捨てるという話は、
重そうなファイルを切り捨てることで、インデックスが小さくなるのなら
有効ですが、おそらくはあまり変わらないのではないかと思います。
$FILE_SIZE_MAX や $TEXT_SIZE_MAX ではじきますし。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




Namazu-users-ja メーリングリストの案内