增加Jetty / Solr堆空间

时间:2013-11-05 13:41:09

标签: memory solr cygwin jetty heap-size

我正在使用Jetty和Solr431运行Cygwin。

这是我用来启动Solr的.bat文件的内容:

@echo off
C:
chdir C:\cygwin\bin

bash -c "cd /cygdrive/c/Databases/apache-solr-3.5.0/example/; java -Dsolr.solr.home="./example-DIH/solr/" -jar start.jar" 

在运行一段时间后,控制台窗口显示错误:

  

Java堆空间内存不足

如何查看现在分配了多少堆空间,如何增加它?我读到我需要在启动命令中添加-Xmx500M之类的参数,但我不知道在哪里。

更新

使用jps命令我找到了正确的PID。

然后我得到了这些结果。我认为P列会显示允许的堆空间,但我不知道我的命令参数是否有任何影响?

没有任何启动参数

jstat -gcutil 4932 5000

  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
100,00   0,00  74,91  65,67  99,23    300    0,348     4    0,146    0,494
100,00   0,00  74,91  65,67  99,23    300    0,348     4    0,146    0,494
带参数的

bash -c“cd /cygdrive/c/Databases/apache-solr-3.5.0/example/;java -Dsolr.solr.home =”./ example-DIH / solr /“ - jar -Xmx200m -Xmx400m start.jar” jstat -gcutil 2548 5000

  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
  0,00  89,57  67,80  62,74  99,45    307    0,337     4    0,147    0,484
  0,00  89,57  67,80  62,74  99,45    307    0,337     4    0,147    0,484

1 个答案:

答案 0 :(得分:7)

您需要在-Xmx500m之前添加start.jar

其他信息 -

Initial Heap size -Xms<size>
Maximum Heap size -Xmx<size>

要查找当前正在运行的进程的堆大小,您需要jstat -gc <pid>。有关详细信息,请查看here