Rhel6
應設置為 65000 以避免操作中斷
我正在關注將 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! #
我的系統:
# 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 #
之後
man 5 limits.conf
:# cat /etc/security/limits.d/498-solr.conf solr hard nofile 65000 solr hard nproc 65000 #
但是,在重新啟動 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 #
您設置了
hard
限制,但沒有設置soft
限制,而soft
限制就是報告的內容。您還應該soft
以同樣的方式設置限制。solr soft nofile 65000 solr soft nproc 65000
(應用程序本身應該能夠提高限制,直到
hard
限制,但顯然開發人員沒有選擇這樣做。)