使用Lucene时发生Java异常

使用Lucene时发生Java异常,java,lucene,eclipse-3.6,Java,Lucene,Eclipse 3.6,嗨,我尝试了一个使用Lucene插件的程序。我有多个索引,为了搜索多个索引,我使用了“ParallelMultiSearcher”。但是在搜索时,我一次又一次地在thread“thread-2”java.lang.OutOfMemoryError中获取异常:请求的数组大小超过VM限制“。我正在使用EclipseHelioIDE,Ubuntu10.04操作系统(32位)。3GB内存。Lucene 3.0.3版本。10个索引文件,每个包含100条记录(csv文件,包含10个字段)。VM参数设置-Xm

嗨,我尝试了一个使用Lucene插件的程序。我有多个索引,为了搜索多个索引,我使用了“ParallelMultiSearcher”。但是在搜索时,我一次又一次地在thread“thread-2”java.lang.OutOfMemoryError中获取异常:请求的数组大小超过VM限制“。我正在使用EclipseHelioIDE,Ubuntu10.04操作系统(32位)。3GB内存。Lucene 3.0.3版本。10个索引文件,每个包含100条记录(csv文件,包含10个字段)。VM参数设置-Xmx1024m-XX:MaxPermSize=1024m。但我试图增加,有时在VM初始化过程中出现错误,无法为对象堆保留足够的空间。甚至我减小了文件大小并尝试了一下,结果是10个文件,我减少到了1个文件,一次又一次,我得到了同样的错误。请针对上述问题提出解决方案。提前感谢您……

在32位Ubuntu上,JVM进程可以在达到硬件强加的硬限制之前请求2Gb的堆内存。你要1G字节的permgen堆,已经消耗了一半。这对我来说太过分了。尝试使用~1.8Gb的普通堆和200Mb的permgen。

好的,所以它一定是其他东西。我猜这一定与你配置Lucene的方式有关。你能粘贴你的代码吗?因为您的数据太小,无法导致此类异常。我得到了同样的例外,但使用40GB索引(分解为10个索引)。您的代码中可能存在错误。请检查本讨论中的Kai Chan建议-。