aboutsummaryrefslogtreecommitdiffstats
path: root/container-disc/src/main/sh/vespa-start-container-daemon.sh
diff options
context:
space:
mode:
Diffstat (limited to 'container-disc/src/main/sh/vespa-start-container-daemon.sh')
-rwxr-xr-xcontainer-disc/src/main/sh/vespa-start-container-daemon.sh94
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 \