我遵循here和here的说明来增加SOLR内存分配.之所以这样做,是因为SOLR服务器在某些高频率和高容量索引活动期间会定期关闭.
我对使用SOLR和Ubuntu有点陌生,所以请耐心等待,但是我发现SOLR_JAV_MEM参数存在的几个位置:
/opt/solr-6.2.0/bin/solr.in.sh
/opt/solr-6.2.0/bin/solr.in.cmd
/opt/solr-6.2.0/bin/solr.cmd
The same set of files in this directory: /home/deploy/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/sunspot_solr-2.2.5/solr/bin
And this directory:
/home/deploy/solr-6.2.0/bin
And finally, in this file: /etc/default/solr.in.sh
在任何我看到带有数字的SOLR_JAV_MEM或SOLR_HEAP参数的地方,我都将其替换为较大的值,例如在/opt/solr-6.2.0/bin/solr.in.sh中:
# Increase Java Heap as needed to support your indexing / query needs
SOLR_HEAP="1500m"
# Expert: If you want finer control over memory options, specify them directly
# Comment out SOLR_HEAP if you are using this though, that takes precedence
#SOLR_JAVA_MEM="-Xms1512m -Xmx1512m"
如果我正确地测量它,那么仍然只能看到分配给SOLR的大约500MB内存,如以下命令所示:
root@ip-xxx:~# service solr status
Found 1 Solr nodes:
Solr process 15259 running on port 8989
{
"solr_home":"/var/solr/data",
"version":"6.2.0 764d0f19151dbff6f5fcd9fc4b2682cf934590c5 - mike - 2016-08-20 05:41:37",
"startTime":"2016-09-28T15:01:18.001Z",
"uptime":"0 days, 0 hours, 12 minutes, 28 seconds",
"memory":"100 MB (%20.4) of 490.7 MB"}
难道我做错了什么?还是我只是测量内存不正确?请让我知道是否可以提供其他信息.谢谢!
解决方法:
我会回答我自己的问题.原来,我必须编辑/etc/default/solr.in.sh文件.我将SOLR_HEAP =“ 512M”更改为SOLR_HEAP =“ 1500m”,然后运行sudo服务solr状态,看到内存显示1.5G!