2011年6月26日

[Namazu-devel-ja 1799] Re:大量ファイルでのmknmzのメモリ不足について

寺西です。

(2011/06/24 17:00), Shigekazu Aoyagi wrote:
> 手元のテストデータ(約200万ファイル)を一度にmknmzに掛けようとすると
> メモリ不足で強制終了してしまいました。調べてみますと、find_target()の
> 中で終了しているようです。

これについては根本的にプログラムの手直しをしないとどうしようも

ないので、「メモリをもっと積んで下さい」ということになります。

> 原因ではないかと考えます。チェックポイントの前ですので -s オプションは
> この場合は有効ではありません。ちなみに、Devel::Size で @flist のメモリ
> サイズを確認したところ、160MBほどになっていました。

本題から外れますが、現在においては -s オプションはデバッグ用途以外
に使うのはあまりお勧めしません。

> 解決方法としては、理想的には @flist についても $ON_MEMORY_MAX の値を
> 適用して、越えるようなら適時ファイルに書き出して処理するようにする

誤解があるようですが、$ON_MEMORY_MAX はオンメモリで処理する
メモリサイズを示すわけではありません。
# 変数名がまずいのです。

一度に処理する文書ファイルの総ファイルサイズでしかないため、
メモリ使用量とほとんど相関関係はありません。
そのため、$ON_MEMORY_MAX を使ってどうこうするという発想は、
本件の場合は間違いになります。

> そこで、解決とまではいかなくても多少の改善くらいは出来ないかとクイック
> ハックを試みましたのでご報告いたします。今回試みましたのは次の2点です。
>
>  1. ワーク変数の使用後の解放
>  2. @flistのリファレンス渡し

効果がどれほどかは不明ですが、これらの修正を行うことで、
メモリ使用量を減らすことは可能ですので、取り込む方向で検討
したいと思います。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E
_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja


投稿者 xml-rpc : 2011年6月26日 15:04
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/104904
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。