我正在关注将 Solr 投入生产 | Apache Solr 参考指南 8.5,但是无法克服重新启动solr服务时的警告:
# service solr restart
*** [WARN] *** Your open file limit is currently 1024.
It should be set to 65000 to avoid operational disruption.
If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
*** [WARN] *** Your Max Processes Limit is currently 1024.
It should be set to 65000 to avoid operational disruption.
If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
Sending stop command to Solr running on port 8983 ... waiting up to 180 seconds to allow Jetty process 16065 to stop gracefully.
Waiting up to 180 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=16320). Happy searching!
#
Run Code Online (Sandbox Code Playgroud)
我的系统:
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.10 (Santiago)
# uname -a
Linux X.X.X 2.6.32-754.30.2.el6.x86_64 #1 SMP Fri May 29 04:45:43 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux
#
Run Code Online (Sandbox Code Playgroud)
做完后man 5 limits.conf:
# cat /etc/security/limits.d/498-solr.conf
solr hard nofile 65000
solr hard nproc 65000
#
Run Code Online (Sandbox Code Playgroud)
但是,在重新启动 solr 服务时我仍然收到该警告消息。
请指教)
提前致谢!
@MirceaVutcovici:
# grep 'Max processes' /proc/$(pgrep solr)/limits
grep: /proc//limits: No such file or directory
# pgrep solr
# echo $?
1
# ps ax | grep solr
1926 ? Sl 2:37 java -server -Xms512m -Xmx512m -XX:+UseG1GC -XX:+PerfDisableSharedMem -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=250 -XX:+UseLargePages -XX:+AlwaysPreTouch -verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:/var/solr/logs/solr_gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=9 -XX:GCLogFileSize=20M -Dsolr.jetty.inetaccess.includes= -Dsolr.jetty.inetaccess.excludes= -Dsolr.log.dir=/var/solr/logs -Djetty.port=8983 -DSTOP.PORT=7983 -DSTOP.KEY=solrrocks -Dhost=rlos.uftwf.local -Duser.timezone=UTC -Djetty.home=/opt/solr/server -Dsolr.solr.home=/var/solr/data -Dsolr.data.home= -Dsolr.install.dir=/opt/solr -Dsolr.default.confdir=/opt/solr/server/solr/configsets/_default/conf -Dlog4j.configurationFile=/var/solr/log4j2.xml -Xss256k -Dsolr.jetty.https.port=8983 -Dsolr.log.muteconsole -XX:OnOutOfMemoryError=/opt/solr/bin/oom_solr.sh 8983 /var/solr/logs -jar start.jar --module=http
9029 pts/0 S+ 0:00 grep solr
# grep 'Max processes' /proc/1926/limits
Max processes 1024 65000 processes
#
Run Code Online (Sandbox Code Playgroud)
您设置了hard限制,但没有设置soft限制,而soft限制就是所报告的内容。您还应该soft以同样的方式设置限制。
solr soft nofile 65000
solr soft nproc 65000
Run Code Online (Sandbox Code Playgroud)
(应用程序本身应该能够提高限制,直到极限hard,但显然开发人员没有选择这样做。)
| 归档时间: |
|
| 查看次数: |
14543 次 |
| 最近记录: |