Namazu-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Too many open files
臼田です。
金城 尚志 wrote:
> Yukio USUDA さんは書きました:
> >mknmzrc の $ON_MEMORY_MAX はどれくらいの数値でしょうか?
> $ON_MEMORY_MAX = 5000000;
> にしてあります。デフォルトの数値よりも半分にしてあります。
> 物理メモリは255MBぐらいです。
> ON_MEMORY_MAXの値については特に理由はありません。
> 適当な値はどれぐらいなんでしょうか?
checkpointが有効になっていると
読み込んだファイルのサイズの小計がON_MEMORY_MAXの値に
到達するたびにmknmzが再起動されます。
pdfファイルのサイズはテキストファイル等より大きいので
あまり小さい値にしておくと頻繁に
「チェックポイントに到達しました。mknmz を再実行します...」
というメッセージが現れると思います。
どれくらいの頻度で現れていますか?
物理メモリが255MBあるのでしたらもう少し大きめの値でもよいの
ではないでしょうか?
再起動時の初期化処理の負荷もあるので再起動頻度が高いのであ
れば実行時間がだいぶ長くなっていると思います。
> Yukio USUDA さんは書きました:
> >write_index_sub() からreturnする前に
> >明示的に
> > close($fh_tmp_i);
> > close($fh_tmp_w);
> > close($fh_i);
> > close($fh_ii);
> > close($fh_w);
> > close($fh_wi);
> >としてクローズさせたら良くなるのかも?
mknmzの2360行目ぐらいから始まるサブルーチンの
最後(2460行目付近)の
return $key_count;
の直前に入れてファイルを陽にクローズさせてはどうかと思っていた
のですが、
checkpointでmknmzそのものをexec($0, @ARGV)として再起動している
のですが、それでもファイルがクローズされないということがあるの
ですかね?
臼田幸生