我在solrcore初始化期间收到以下异常消息:
org.apache.solr.common.solrexception:org.apache.solr.common.solrexception:最大直接内存可能太低。增加它(通过在容器启动参数中添加-xx:maxdirectmemorysize=g-xx:+uselargepages)或使用solrconfig.xml中的solr.hdfs.blockcache.direct.memory.allocation=false禁用直接分配。如果将块缓存放在堆上,那么java堆的大小可能不够大。分配~134.217728 mb失败。
如何解决此错误?
2条答案
按热度按时间vmpqdwk31#
solr正在直接内存中从jvm堆缓存hdfs索引文件。执行此操作时内存不足。您可以通过设置
solr.hdfs.blockcache.direct.memory.allocation=false
在solrconfig.xml中。这将导致solr在堆中缓存hdfs索引文件部分,因此检查jvm的大小非常重要。mf98qq942#
添加
-XX:MaxDirectMemorySize=20g
你的solr.in.sh
文件到变量GC_TUNE
. (20g作为solr参考指南中的示例)这个
GC_TUNE
应该是这样的: