0

嗨,我尝试了一个使用 Lucene 插件的程序。我有多个索引,为了搜索多个索引,我使用了“ParallelMultiSearcher”。但是在搜索时,我一次又一次地得到异常"Exception in thread "Thread-2" java.lang.OutOfMemoryError: Requested array size exceeded VM limit"。我正在使用 Eclipse Helio IDE,UBUNTU 10.04 操作系统(32 位)。3GB 内存。Lucene 3.0.3 版本。10个索引文件,每个包含100条记录(csv文件,10个字段)。虚拟机参数设置-Xmx1024m -XX:MaxPermSize=1024m。但是我尝试增加,有​​时我在 VM 初始化期间发生错误无法为对象堆保留足够的空间. 即使我减小了文件大小并尝试了,而是 10 个文件,我减少到 1 个文件,一次又一次,我得到了同样的错误。请为上述问题提出解决方案。先感谢您....

4

1 回答 1

0

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

于 2011-01-27T06:33:14.450 回答