Sugano
ganos****@gmail*****
2010年 7月 20日 (火) 22:54:42 JST
お世話になってます。 すがのです。 本件ですが、原因が判明して、特定の条件を満たしたExcelファイ ル(xlsx)が原因で、メモリエラーが発生していたことがわかりまし た。 経緯を説明しますと、まず、maxDocumentCacheSizeを10→5→2と変 更して何度か再実行しても現象は変わりませんでした。 しかし、毎回約1万ファイル程度処理した時点で、ほぼ同様のメモ リエラーが発生しているようだったので、特定のファイルが原因で はないかと想定して調査したところ、特定のExcelファイル(xlsx) を読み込んだときに、使用メモリが10秒程度で急増(1G以上増加)し て、メモリエラーが発生したことがわかりました。 その特定のExcelファイルですが、ファイルサイズは8MB程度なので すが、中のデータ量がDBみたいに多く(項目20列程度のデータが約7 万行)、このExcelファイルの中のデータを全て読み取ろうとして、 メモリが枯渇した可能性があると想定しております。 ※このファイル1つのみをピンポイントでクロールに読み込ませて テストしたところ、使用メモリが急増してエラーが発生しました。 さしあたり、このファイル自体は、クロール対象から除外すること で、一時的な回避はできたのですが、同じファイルサーバの中に、 似たようなExcelファイルがいくつか存在している様で、本日3回ほ どメモリエラーで異常終了して、クロール処理を完了できない状態 となっております。 (20〜40列・6〜8万行・数MB程度のxlsxファイルを、現時点で3つほ どエラーの都度発見しており(※もっとある可能性大)、その度に、 原因xlsxファイルを検索除外対象にする作業を繰り返している状態 です) 上記、エラー発生する都度、検索除外対象とするのは効率が悪いの で、何とか回避したいと思っておりますが、何か良い方法などはあ りますでしょうか? (特定のファイルでメモリエラーが発生しても、クロール処理が継 続して正常稼動するのが理想ですが、プログラム改修による対応は 困難でしょうか?) 上記、アドバイスなどがありましたら、ご回答をお願いいたします。 以上、よろしくお願いします。 > ----Original Message---- > Sun, 18 Jul 2010 21:26:01 +0900 > From: Sugano <ganos****@gmail*****> > To: fess-****@lists***** > Cc: > Subject: Re: [fess-user 297] Re:インデックスの作成が停止し > ます > > お世話になってます。 > すがのです。 > > 本件、了解です! > 連休明けにでも試してみます! > > ご回答ありがとうございました! > > ----Original Message---- > > Sun, 18 Jul 2010 07:48:35 +0900 > > From: Shinsuke Sugaya <shins****@yahoo*****> > > Reply-To: fess-****@lists***** > > To: fess-****@lists***** > > Subject: [fess-user 297] Re:インデックスの作成が停止します > > > > > 菅谷です。 > > > > > (CPU:Core 2 Duo 2GHz、メモリ:1.5GB) > > > > この環境ですと、Fess 的には mx を 512m くらいが > > 上限な気がしますので、1 回あたりの Solr に送る > > ドキュメント数を下げるのが良い気がします。 > > webapps/fess/WEB-INF/cmd/resources/app.dicon > > で > > > > <component name="indexUpdater" > > class="jp.sf.fess.solr.IndexUpdater" instance="prototype"> > > <property name="maxDocumentCacheSize">5</property> > > </component> > > > > というように maxDocumentCacheSize を下げることが > > できます。デフォルトでは 1 回で 10 ドキュメントを > > Solr に送ります。 > > > > shinsuke > > > > 2010年7月17日11:21 Sugano <ganos****@gmail*****>: > > > お世話になってます。 > > > すがのです。 > > > > > >> > ご質問があるのですが、クロールで集めた情報(H2DB)を、 > > >> > SolrDB > > >> > へ > > >> > 手動で登録する方法(機能など)はありませんでしょうか? > > >> > > >> 現状、ないです。クロールデータについては > > >> パフォーマンスに大きな影響を与えるので > > >> 消せるときに消す感じにしています。ただ > > >> 今回のように例外的にクロールを抜けるような > > >> 場合に残せるかどうかは検討してみます。 > > > 了解しました。 > > > 是非、お願いします。 > > > > > >> > ※少なくとも、catalina.outにはエラーメッセージなどは出力 > > >> > さ > > >> > れ > > >> > ていませんでした。他のログはこれから調べます。 > > >> > > >> 最新の環境であれば、fess_crawler.out が > > >> どうなっているかがポイントになるかと思います。 > > > fess_crawler.outを調べたところ、添付ファイル(fess_crawler. > > > outのログを一部抜粋、一部ファイルパスの修正有)のように > > > OutOfMemory エラーが発生していたことがわかりました。 > > > > > > 下記の設定は既にしているのですが、それでも発生するようです。 > > > http://fess.sourceforge.jp/ja/3.0/config/memory-config.html > > > > > > ちなみに、当方の環境・状況は以下のとおりです。 > > > > > > ●環境 > > > ・WindowsXP SP3に搭載して試用・検証中 > > > (CPU:Core 2 Duo 2GHz、メモリ:1.5GB) > > > ・JDK 6 Update 21 > > > ・fess-server-3.1.1 or 4.0.0SNAPSHOT > > > (どちらでも発生するようです) > > > ・メモリ関連設定:上記リンクと同じ設定 > > > > > > ●クロール設定 > > > ・対象ドキュメント: ファイルサーバ上のファイル 約6万件 > > > ・同時実行のクロール設定数:1 > > > ・ドキュメント数毎にコミット:500 > > > ・スレッド数:3 > > > ・間隔:1000ミリ秒 > > > > > > ●状況 > > > 約1万ドキュメントを処理したあたりで、メモリエラー発生 > > > ※エラー発生後は、延々とクロール処理のみが行われて、 > > > SolrDBへの登録処理が行われない状態 > > > ※かなり高い確率(現時点100%)で現象が再発。 > > > > > > > > > 上記、メモリ関連設定の再チューニングなどで回避は可能なので > > > し > > > ょうか? > > > > > > 以上、よろしくお願いします。 > > >> ----Original Message---- > > >> Fri, 16 Jul 2010 06:33:00 +0900 > > >> From: Shinsuke Sugaya <shins****@yahoo*****> > > >> Reply-To: fess-****@lists***** > > >> To: fess-****@lists***** > > >> Subject: [fess-user 290] Re:インデックスの作成が停止しま > > >> す > > >> > > > > > >> 菅谷です。 > > >> > > >> > ご質問があるのですが、クロールで集めた情報(H2DB)を、 > > >> > SolrDB > > >> > へ > > >> > 手動で登録する方法(機能など)はありませんでしょうか? > > >> > > >> 現状、ないです。クロールデータについては > > >> パフォーマンスに大きな影響を与えるので > > >> 消せるときに消す感じにしています。ただ > > >> 今回のように例外的にクロールを抜けるような > > >> 場合に残せるかどうかは検討してみます。 > > >> > > >> > ※少なくとも、catalina.outにはエラーメッセージなどは出力 > > >> > さ > > >> > れ > > >> > ていませんでした。他のログはこれから調べます。 > > >> > > >> 最新の環境であれば、fess_crawler.out が > > >> どうなっているかがポイントになるかと思います。 > > >> > > >> よろしくお願いいたします。 > > >> > > >> shinsuke > > >> > > >> > > >> 2010年7月16日1:17 Sugano <ganos****@gmail*****>: > > >> > 初めまして、すがのと申します。 > > >> > > > >> > ご質問があるのですが、クロールで集めた情報(H2DB)を、 > > >> > SolrDB > > >> > へ > > >> > 手動で登録する方法(機能など)はありませんでしょうか? > > >> > (クロール実行中もしくはクロール停止時に手動実行) > > >> > > > >> > というのも、私のところでも桑田さんとほぼ同様の現象が発生 > > >> > し > > >> > て > > >> > おり、 > > >> >> クローラープロセスが実行中にも関わらず、ドキュメント数 > > >> >> が > > >> >> 増 > > >> >> 加しなくなります。 > > >> >> システム設定画面で何度が停止->実行を繰り返しましたが状 > > >> >> 況 > > >> >> が > > >> >> 変わりません。 > > >> > > > >> > 具体的には、以下2つの現象のいずれかが発生することが多く、 > > >> > > > >> > 事象1.クローラプロセスが稼働中にもかかわらず、クローラ > > >> > 側 > > >> > DB > > >> > (\webapp\fess\WEB-INF\db)やSolrDBへの登録が行われない。 > > >> > > > >> > 事象2.クローラ側DB(\webapp\fess\WEB-INF\db)への登録は > > >> > さ > > >> > れ > > >> > 続けるが、SolrDBへの登録が行われなず、クローラ側DBのみが > > >> > 増 > > >> > え > > >> > 続ける。 > > >> > > > >> > 上記の現象発生後に、クローラで収集したSolrDBへの未登録情 > > >> > 報 > > >> > を > > >> > 破棄するのはもったいないので、収集した情報をSolrDBへ手動 > > >> > 登 > > >> > 録 > > >> > する手段を知りたいと考えております。 > > >> > (クロールを再度起動すると、前回収集した情報がすべて消え > > >> > て > > >> > し > > >> > まい、事象2で数万件分の情報が溜まっていたとしても全てク > > >> > リ > > >> > ア > > >> > されてしまうため、クリアされずにDB登録する方法が知りたい > > >> > で > > >> > す。) > > >> > > > >> > ちなみに、本現象の原因については、下記を参考にして現在調 > > >> > 査 > > >> > 中 > > >> > ですが、現時点では原因は特定できていません。 > > >> >> おそらく crawler.out か catalina.out などに出力されて > > >> >> いるかと思います。以下を参照してみてください。 > > >> >> > > >> >> http://fess.sourceforge.jp/ja/3.0/config/logging.html > > >> >> > > >> > ※少なくとも、catalina.outにはエラーメッセージなどは出力 > > >> > さ > > >> > れ > > >> > ていませんでした。他のログはこれから調べます。 > > >> > ※ファイルパスの長さが260字以上(WindowsのMAX_PATH値以上) > > >> > の > > >> > デ > > >> > ィレクトリ・ファイルもあるため、それが原因の一つの可能性 > > >> > も > > >> > 有 > > >> > り? > > >> > ※上記、もう少し調べてわからないようであれば、再度詳細な > > >> > 情 > > >> > 報 > > >> > をお知らせします。 > > >> > > > >> > 以上、よろしくお願い致します。 > > >> > > > >> >> 菅谷です。 > > >> >> > > >> >> おそらく crawler.out か catalina.out などに出力されて > > >> >> いるかと思います。以下を参照してみてください。 > > >> >> > > >> >> http://fess.sourceforge.jp/ja/3.0/config/logging.html > > >> >> > > >> >> よろしくお願いいたします。 > > >> >> > > >> >> shinsuke > > >> >> > > >> >> > > >> >> 2010年7月14日16:53 Tetsutomo Kuwata <fj.kuwata @ gmail. > > >> >> com>: > > >> >> 初めまして、桑田と申します。 > > >> >> > > >> >> この度始めてFessを導入しインデックス作成を実行している > > >> >> と > > >> >> こ > > >> >> ろなのですが > > >> >> クローラープロセスが実行中にも関わらず、ドキュメント数 > > >> >> が > > >> >> 増 > > >> >> 加しなくなります。 > > >> >> システム設定画面で何度が停止->実行を繰り返しましたが状 > > >> >> 況 > > >> >> が > > >> >> 変わりません。 > > >> >> どの辺を調べれば原因がわかりますでしょうか。 > > >> >> > > >> >> 環境 > > >> >> Windows Server 2003 R2 > > >> >> JDK 6 Update 20 > > >> >> fess-server-3.1.1(サービスとして登録) > > >> >> > > >> >> 対象ドキュメント: ファイルシステム 23万件 > > >> >> 現在のドキュメント数: 4万件 > > >> >> > > >> >> > > >> >> 以上、よろしくお願い致します。 > > >> >> > > >> >> _______________________________________________ > > >> >> Fess-user mailing list > > >> >> Fess-****@lists***** > > >> >> http://lists.sourceforge.jp/mailman/listinfo/fess-user > > >> >> > > >> > > > >> > _______________________________________________ > > >> > Fess-user mailing list > > >> > Fess-****@lists***** > > >> > http://lists.sourceforge.jp/mailman/listinfo/fess-user > > >> > > > >> > > >> _______________________________________________ > > >> Fess-user mailing list > > >> Fess-****@lists***** > > >> http://lists.sourceforge.jp/mailman/listinfo/fess-user > > > > > > > > > _______________________________________________ > > > Fess-user mailing list > > > Fess-****@lists***** > > > http://lists.sourceforge.jp/mailman/listinfo/fess-user > > > > > > > > > > _______________________________________________ > > Fess-user mailing list > > Fess-****@lists***** > > http://lists.sourceforge.jp/mailman/listinfo/fess-user