[Namazu-devel-ja 117] Re: Win98 での pltest Re: utf8index-branch

Yukio USUDA m6694ha392t @ asahi-net.or.jp
2004年 9月 5日 (日) 22:56:46 JST


臼田です

Tadamasa Teranishi wrote:
> > また、
> > http://www.namazu.org/ml/namazu-win32-users-ja/msg00164.html
> > http://www.namazu.org/ml/namazu-win32-users-ja/msg00412.html
> > から続く議論を見ると ActivePerl では --checkpoint を使うとかえって
> > メモリを無駄に消費するようです。
> 
> 常々、Windows 環境の --checkpoint の動作はきちんと動くのだろうか
> と疑問を持っていたので、
> この辺りの検証に mknmz-3 を使いたいなと思うところではあります。
> 
前記の過去記事を見るとNT系ではちゃんと動き、Win9x系ではゾンビが残
ると読めます。
インデックスができるかどうかだけでは、ゾンビプロセスが残らないか
どうかのチェックはできないので、なにかテスト方法が欲しいですね。

> http://www.namazu.org/ml/namazu-win32-users-ja/msg00412.html
> の内容からすると、上記の問題はむしろ待ちすぎるような動作になり
> そうですが、実際にはそうなっていないので疑問が残りますね。
> 
linux 上で mknmz-3 の動作状況を top で見ていると最後まで mknmz の
PID は変わらないのですが、Win2000 上で mknmz-3.pl の動作状況を
タスクマネージャで見ていると checkpoint で再起動している個所で
perl の PID が変化していきます。
ActivePerl では exec で自身を置き換える際にプロセス番号を継承
しないため mknmz-3.pl の子プロセスだった mknmz が迷子になると
いうことなのかもしれません。


> 昨今では、--checkpoint なしでも大量のファイルを処理できるように
> メモリリークも減ってきているのではないかと思っていますので、
> 通常使用において --checkpoint を使わなければならない状況では
> たぶんないという認識です。
> (今なおメモリ搭載量の少ない非力なマシン等では有効な機能かも
> しれません。)
> -- 
確かに、今のところ重要なオプションなので廃止はできないです。

再起動してメモリがきれいになるのは捨てがたいですが再起動時の
mknmz の初期化も時間がかかります。
最大メモリ使用量の設定を小さくしすぎるとインデックス処理より
mknmz の起動処理による時間のほうが長くなってしまう場合もある
のではと思います。

最後までオンメモリでインデックス作成せずに複数回にわけて作成する
のがよいのではないかという提案が過去にも何回か出ています。
ここもいずれ改造したいところですね。

臼田幸生





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