diff options
Diffstat (limited to 'container-disc/src/main/sh/vespa-start-container-daemon.sh')
-rwxr-xr-x | container-disc/src/main/sh/vespa-start-container-daemon.sh | 94 |
1 files changed, 15 insertions, 79 deletions
diff --git a/container-disc/src/main/sh/vespa-start-container-daemon.sh b/container-disc/src/main/sh/vespa-start-container-daemon.sh index 21c9dc28022..65826e650c4 100755 --- a/container-disc/src/main/sh/vespa-start-container-daemon.sh +++ b/container-disc/src/main/sh/vespa-start-container-daemon.sh @@ -90,6 +90,12 @@ configure_memory() { fi } +configure_cpu() { + if ((jvm_availableProcessors > 0)); then + cpu_options="-XX:ActiveProcessorCount=${jvm_availableProcessors}" + fi +} + configure_numactl() { log_message debug "starting ${VESPA_SERVICE_NAME} for ${VESPA_CONFIG_ID}" if numactl --interleave all true &> /dev/null; then @@ -115,7 +121,7 @@ configure_numactl() { } configure_gcopts() { - consider_fallback jvm_gcopts "-XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=15 -XX:NewRatio=1" + consider_fallback jvm_gcopts "-XX:MaxTenuringThreshold=15 -XX:NewRatio=1" if [ "$jvm_verbosegc" = "true" ]; then jvm_gcopts="${jvm_gcopts} -verbose:gc" fi @@ -171,101 +177,31 @@ import_cfg_var () { fi } -exec_jsvc () { - if [ "$jsvc_classpath_pre" ]; then - CP="${jsvc_classpath_pre}:${CP}" - fi - for jf in $jsvc_extra_classpath_libjars ; do - CP="${CP}:${VESPA_HOME}/lib/jars/$jf.jar" - done - for jf in $jsvc_extra_classpath_files ; do - CP="${CP}:jf" - done - - PRELOAD="$PRELOAD $jsvc_extra_preload" - configure_preload - exec $numactlcmd $envcmd $jsvc_binary_name \ - -Dconfig.id="${VESPA_CONFIG_ID}" \ - -XX:+PreserveFramePointer \ - ${jsvc_opts} \ - ${memory_options} \ - ${jvm_gcopts} \ - -XX:MaxJavaStackTraceDepth=1000000 \ - -XX:+HeapDumpOnOutOfMemoryError \ - -XX:HeapDumpPath="${VESPA_HOME}/var/crash" \ - -XX:+ExitOnOutOfMemoryError \ - -Djava.library.path="${VESPA_HOME}/lib64" \ - -Djava.awt.headless=true \ - -Djavax.net.ssl.keyStoreType=JKS \ - -Dsun.rmi.dgc.client.gcInterval=3600000 \ - -Dsun.net.client.defaultConnectTimeout=5000 -Dsun.net.client.defaultReadTimeout=60000 \ - -Djdisc.config.file="$cfpfile" \ - -Djdisc.export.packages=${jdisc_export_packages} \ - -Djdisc.cache.path="$bundlecachedir" \ - -Djdisc.debug.resources=false \ - -Djdisc.bundle.path="${VESPA_HOME}/lib/jars" \ - -Djdisc.logger.enabled=true \ - -Djdisc.logger.level=ALL \ - -Djdisc.logger.tag="${VESPA_CONFIG_ID}" \ - -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger \ - -Dvespa.log.control.dir="${VESPA_LOG_CONTROL_DIR}" \ - -Dzookeeperlogfile="${ZOOKEEPER_LOG_FILE}" \ - -Dfile.encoding=UTF-8 \ - -cp "$CP" \ - "$@" \ - com.yahoo.jdisc.core.BootstrapDaemon file:${VESPA_HOME}/lib/jars/container-disc-jar-with-dependencies.jar -} - -maybe_use_jsvc () { - import_cfg_var use_jsvc "false" - - # if configured, run JSVC aka commons.daemon - if [ "$use_jsvc" = "true" ]; then - import_cfg_var jsvc_binary_name "jsvc" - import_cfg_var jsvc_extra_preload - - import_cfg_var jsvc_use_pidfile "false" - - import_cfg_var jsvc_classpath_pre - import_cfg_var jsvc_extra_classpath_libjars - import_cfg_var jsvc_extra_classpath_files - import_cfg_var jsvc_ipv6opts - import_cfg_var jsvc_extra_opts - import_cfg_var jsvc_normal_opts - import_cfg_var jsvc_java_home_opt - if [ "$jsvc_use_pidfile" = "true" ]; then - import_cfg_var jsvc_pidfile_opt "-pidfile ${VESPA_HOME}/var/run/jsvc.${VESPA_SERVICE_NAME}.pid" - else - import_cfg_var jsvc_pidfile_opt "" - fi - import_cfg_var jsvc_user_opt - import_cfg_var jsvc_agent_opt - import_cfg_var jsvc_ynet_opt - import_cfg_var jsvc_unknown_opts - - jsvc_opts="$jsvc_ipv6opts $jsvc_extra_opts $jsvc_normal_opts $jsvc_java_home_opt $jsvc_pidfile_opt $jsvc_user_opt $jsvc_agent_opt $jsvc_ynet_opt $jsvc_unknown_opts" - exec_jsvc - fi -} - getconfig configure_memory configure_gcopts configure_env_vars configure_classpath configure_numactl +configure_cpu configure_preload -maybe_use_jsvc exec $numactlcmd $envcmd java \ -Dconfig.id="${VESPA_CONFIG_ID}" \ -XX:+PreserveFramePointer \ + ${VESPA_CONTAINER_JVMARGS} \ + ${cpu_options} \ ${memory_options} \ ${jvm_gcopts} \ -XX:MaxJavaStackTraceDepth=1000000 \ -XX:+HeapDumpOnOutOfMemoryError \ -XX:HeapDumpPath="${VESPA_HOME}/var/crash" \ -XX:+ExitOnOutOfMemoryError \ + --illegal-access=warn \ + --add-opens=java.base/java.io=ALL-UNNAMED \ + --add-opens=java.base/java.lang=ALL-UNNAMED \ + --add-opens=java.base/java.net=ALL-UNNAMED \ + --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED \ -Djava.library.path="${VESPA_HOME}/lib64" \ -Djava.awt.headless=true \ -Djavax.net.ssl.keyStoreType=JKS \ |