【发布时间】:2012-04-09 17:36:59
【问题描述】:
我正在使用 OpenSearchServer v1.2.4 rc3。
在最初的几天里,它工作正常。
但是当它的索引大小达到 1.0GB 时,我得到了这个错误
“错误(java.lang.NullPointerException)”
当我启动我的爬虫时。爬虫可以正常工作一段时间,然后停止并出现此错误
“错误(java.lang.NullPointerException)”。
怎么了?
【问题讨论】:
我正在使用 OpenSearchServer v1.2.4 rc3。
在最初的几天里,它工作正常。
但是当它的索引大小达到 1.0GB 时,我得到了这个错误
“错误(java.lang.NullPointerException)”
当我启动我的爬虫时。爬虫可以正常工作一段时间,然后停止并出现此错误
“错误(java.lang.NullPointerException)”。
怎么了?
【问题讨论】:
根据索引的大小,必须添加内存参数。默认情况下,OpenSearchServer 设置为在小型服务器上运行,使用 Java 虚拟机提供的默认 RAM 值(仅从 64MB 到 512MB)。
对于大型索引,您必须设置更高的值。在 Unix/Linux 服务器上,只需创建一个 /etc/opensearchserver 文件,其内容如下:
CATALINA_OPTS="-Xms2G -Xmx2G -server"
export CATALINA_OPTS
在 Windows 服务器上,编辑 start.bat 文件。在 :okExec
之后添加以下行set CATALINA_OPTS="-Xms2G -Xmx2G -server"
将 2G(即 2 GB)替换为您要分配给 OpenSearchServer 的内存大小。
在 32 位版本中,内存限制为 2.5GB。您可以使用以下行(在 Unix/Linux 上)在 64 位操作系统上使用更多内存:
CATALINA_OPTS="-Xms12G -Xmx12G -d64 -server"
对于 64 位窗口:
set CATALINA_OPTS="-Xms12G -Xmx12G -d64 -server"
重新启动 OpenSearchServer 后,只需检查运行时选项卡面板中的可用内存大小是否正确。
关于错误细节,完整的堆栈跟踪更有用。您可以在日志文件 (data/logs/oss.log) 或 Runtime/Logs 选项卡面板中找到它。
【讨论】: