【问题标题】:How to increase heap size in solr or tomcat?如何在 solr 或 tomcat 中增加堆大小?
【发布时间】:2012-06-20 01:16:24
【问题描述】:

当我运行以下命令时: 127.0.0.1:8080/solr/suggest?spellcheck.build=true 我遇到了如下异常,有人知道如何在 tomcat 或 solr 中增加堆大小吗?

Apache Tomcat/7.0.27 - 错误报告

HTTP 状态 500 - Java 堆空间

java.lang.OutOfMemoryError:Java 堆空间

类型状态报告

消息Java堆空间

java.lang.OutOfMemoryError:Java 堆空间

说明服务器遇到内部错误(Java堆空间

java.lang.OutOfMemoryError:Java 堆空间 ) 导致它无法满足此请求。

Apache Tomcat/7.0.27

%

【问题讨论】:

    标签: tomcat solr


    【解决方案1】:

    找到用于启动运行 Solr(Tomcat 或 Jetty)的服务器的命令,并向其添加 java 堆大小选项 - 例如-Xmx500m 将设置最大堆大小为 500 MB,-Xms300m 将设置初始堆大小为 300 MB。

    对于 Tomcat,找到 catalina.sh,打开它并找到设置 CATALINA_OPTS 的行。将 -Xms 和 -Xmx 的选项添加到该行。在 Windows 中,您不需要将它们放在引号中,而在 Linux 中则需要。

    【讨论】:

    • 我应该附加到 CATALINA_OPTS 的确切值是多少?目前我发现它看起来像
      CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
      你能告诉我对此的确切修改吗?我可以在类 unix 的操作系统(Mac)中设置的最大值是多少?多谢!我是这个 solr 和 tomcat 的新手……所以当我还在网上搜索时,我必须要求一个确切的解决方案。谢谢!!
    • CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS -Xms1g -Xmx2g" - 类似的东西将设置初始大小为 1 GB,最大大小为 2 GB。您可以设置的最大值取决于您拥有多少内存以及您的操作系统是否为 64 位。
    • 非常感谢!! :) 我应该将这些值添加到 CATALINA_OPTS 或 JAVA_OPTS,还是其中任何一个都可以?再次感谢大家晚上帮我~我的机器是64位的mac :)
    • 我认为任何一个都可以。别客气。考虑到机器上有多少内存,您可以将内存值设置为任意高。
    • 太棒了!让我现在试试 1g、2g :),我最多只有 4g...希望它不会再次耗尽内存 :))) 晚上愉快!非常感谢您的帮助:)
    【解决方案2】:

    在网上找到了确切的答案,对 JAVA_OPTS 进行了更改。在 catalina.sh 中的以下部分中附加“-Xms256m -Xmx512m”

    if [ -z "$LOGGING_MANAGER" ]; then
       JAVA_OPTS ="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms256m -Xmx512m"
    else 
      JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER -Xms256m -Xmx512m"
    fi
    

    无论如何,堆大小仍然用完...我可以设置多大?

    【讨论】:

      猜你喜欢
      • 2014-10-24
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 2014-10-15
      • 2016-06-18
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多