2011-01-27 14 views
0

こんにちは、私はLucene Pluginを使用してプログラムを試しました。私は "ParallelMultiSearcher"を使って複数のインデックスを検索するために、複数のインデックスを持っています。しかし、検索中に私は何度も何度も例外を取得しています"スレッドで例外" Thread-2 "java.lang.OutOfMemoryError:要求された配列サイズがVM制限を超えています"。私は日食Helio IDE、UBUNTU 10.04オペレーティングシステム(32ビット)を使用しています。 3GBラムLucene 3.0.3バージョン。 10個の索引ファイル、それぞれに100個のレコード(csvファイル、10個のフィールド)が含まれています。 VM引数設定-Xmx1024m -XX:MaxPermSize = 1024m。しかし、私は何度か増えようとしましたVMの初期化中にエラーが発生しましたオブジェクトヒープのための十分なスペースを確保できませんでした。私はファイルサイズを縮小して試しましたが、代わりに10ファイル、1ファイルに減らしました。何度も何度も同じエラーが発生しました。上記の解決策を提案してください。あらかじめありがとうございます....Luceneを使用しているときのJava例外

+0

コードを貼り付けることはできますか?データが小さすぎるため、このような例外が発生する可能性があります。私は同じ例外がありますが、40GBのインデックス(10のインデックスに分解された)で作業しています。おそらくコードにバグがあります。 – Skarab

+0

このディスカッションでKai Chanの提案をチェック - http://stackoverflow.com/questions/3556870/what-is-the-biggest-size-number-of-documents-of-index-java-lucene-3-0- 2-on-32。 – Skarab

答えて

0

Ubuntuでは、JVMプロセスが2Gbのヒープメモリのようなものを要求してから、ハードウェアによって課せられたハード制限に達することがあります。 1ギガバイトのpermgenヒープを要求して、その半分を焼き付けました。これは方法私にあまりにも多いようです。 〜1.8Gbの通常のヒープと200Mbのpermgenで試してください。

+0

申し訳ありませんStephen、再び同じ例外が発生しました.... – Nageswaran

+0

これは他のものでなければなりません。私の推測では、あなたがLuceneを設定したやり方とは何か関係があるはずです。 –

関連する問題