I added these lines to solr.in.sh and restarted Solr:
GC_TUNE=('-XX:+UseG1GC' \
'-XX:+PerfDisableSharedMem' \
'-XX:+ParallelRefProcEnabled' \
'-XX:MaxGCPauseMillis=250' \
'-XX:+AlwaysPreTouch' \
'-XX:+ExplicitGCInvokesConcurrent')
According to the Admin UI, -XX:+UseLargePage is gone, which is good but all
other -XX:* except -XX:+UseG1GC are also gone.
What is the correct way to remove just -XX:UseLargePage ?
TK
On 1/6/21 3:42 PM, TK Solr wrote:
My client is having a sudden death syndrome of Solr 8.3.1. Solr stops
responding suddenly and they have to restart Solr.
(It is not clear if the Solr/jetty process was dead or alive but not
responding. The OOM log isn't found.)
In the Solr start up log, these three error messages were found:
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 12)
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 12)
I am wondering if anyone has seen these errors.
I found this article
https://stackoverflow.com/questions/45968433/java-hotspottm-64-bit-server-vm-warning-failed-to-reserve-shared-memory-er
which suggests removal of the JVM option -XX:+UseLargePage, which is added by
bin/solr script if GC_TUNE is not defined. Would that be a good idea? I'm not
quite sure what kind of variable GC_TUNE is. It is used as in:
if [ -z ${GC_TUNE+x} ]; then
...
'-XX:+AlwaysPreTouch')
else
GC_TUNE=($GC_TUNE)
fi
I'm not familiar with *${*GC_TUNES*+x}* and*($*GC_TUNE*)* syntax. Is this a
special kind of environmental variable?
TK