testing a slightly lowered amount of RAM for machines between 6GB and 16GB of RAM... if this doesn't work as intended, may create another statement for modification between 11 and 20GB instead. We will see what happens.
51 lines
1.6 KiB
Bash
51 lines
1.6 KiB
Bash
#!/bin/sh
|
|
|
|
# There's no need to run as root, so don't allow it, for security reasons
|
|
if [ "$USER" = "root" ]; then
|
|
echo "Please su to non-root user before running"
|
|
exit
|
|
fi
|
|
|
|
# Validate Java is installed and the minimum version is available
|
|
MIN_JAVA_VER='11'
|
|
|
|
if command -v java > /dev/null 2>&1; then
|
|
# Example: openjdk version "11.0.6" 2020-01-14
|
|
version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}' | cut -d'.' -f1,2)
|
|
if echo "${version}" "${MIN_JAVA_VER}" | awk '{ if ($2 > 0 && $1 >= $2) exit 0; else exit 1}'; then
|
|
echo 'Passed Java version check'
|
|
else
|
|
echo "Please upgrade your Java to version ${MIN_JAVA_VER} or greater"
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "Java is not available, please install Java ${MIN_JAVA_VER} or greater"
|
|
exit 1
|
|
fi
|
|
|
|
# No qortal.jar but we have a Maven built one?
|
|
# Be helpful and copy across to correct location
|
|
if [ ! -e qortal.jar -a -f target/qortal*.jar ]; then
|
|
echo "Copying Maven-built Qortal JAR to correct pathname"
|
|
cp target/qortal*.jar qortal.jar
|
|
fi
|
|
|
|
# Limits Java JVM stack size and maximum heap usage.
|
|
# Comment out for bigger systems, e.g. non-routers
|
|
# or when API documentation is enabled
|
|
JVM_MEMORY_ARGS="-Xss1550k -Xmx4500m"
|
|
|
|
# Although java.net.preferIPv4Stack is supposed to be false
|
|
# by default in Java 11, on some platforms (e.g. FreeBSD 12),
|
|
# it is overridden to be true by default. Hence we explicitly
|
|
# set it to false to obtain desired behaviour.
|
|
nohup nice -n 20 java \
|
|
-Djava.net.preferIPv4Stack=false \
|
|
${JVM_MEMORY_ARGS} \
|
|
-jar qortal.jar \
|
|
1>run.log 2>&1 &
|
|
|
|
# Save backgrounded process's PID
|
|
echo $! > run.pid
|
|
echo qortal running as pid $!
|