mirror of
https://github.com/kaboomserver/framework.git
synced 2024-05-22 12:33:38 +00:00
Improve JVM startup time
This commit is contained in:
parent
7536988946
commit
043ef2989c
|
@ -1,10 +1,12 @@
|
|||
#!/bin/sh
|
||||
|
||||
# The alive checker and Minecraft server is started at the same time. For performance reasons, the
|
||||
# OpenJ9 JVM is used instead of Java's default Hotspot JVM.
|
||||
# The alive checker and Minecraft server is started at the same time
|
||||
|
||||
PATH="$HOME/framework/vendor/java/bin/:$PATH"
|
||||
|
||||
# Dump classes
|
||||
java -Xshare:dump
|
||||
|
||||
# Make sure we're in the server folder, located in the home directory
|
||||
cd ~/server/
|
||||
|
||||
|
@ -32,21 +34,9 @@ while true; do
|
|||
|
||||
java \
|
||||
-Xmx1800M \
|
||||
-Xshare:on \
|
||||
-Xss8M \
|
||||
-Xtune:virtualized \
|
||||
-Xaggressive \
|
||||
-Xcompressedrefs \
|
||||
-Xdump:heap+java+snap+system:none \
|
||||
-Xdump:tool:events=throw+systhrow,filter=java/lang/OutOfMemoryError,exec="kill -9 %pid" \
|
||||
-Xgc:concurrentScavenge \
|
||||
-Xgc:dnssExpectedTimeRatioMaximum=3 \
|
||||
-Xgc:scvNoAdaptiveTenure \
|
||||
-Xdisableexplicitgc \
|
||||
-Xshareclasses \
|
||||
-Xshareclasses:noPersistentDiskSpaceCheck \
|
||||
-XX:MaxDirectMemorySize=128M \
|
||||
-XX:+ClassRelationshipVerifier \
|
||||
-XX:+GlobalLockReservation \
|
||||
-XX:+UseContainerSupport \
|
||||
-DPaper.IgnoreJavaVersion=true \
|
||||
-Dpaper.playerconnection.keepalive=360 \
|
||||
|
|
17
vendor/generate_jre.sh
vendored
17
vendor/generate_jre.sh
vendored
|
@ -1,25 +1,14 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This script is used as a reference to generate a stripped-down OpenJ9 JRE for the server
|
||||
# This script is used as a reference to generate a stripped-down JRE for the server
|
||||
|
||||
rm -rf java/
|
||||
wget https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-14.0.2%2B12_openj9-0.21.0/OpenJDK14U-jdk_x64_linux_openj9_14.0.2_12_openj9-0.21.0.tar.gz
|
||||
wget https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-14.0.2%2B12/OpenJDK14U-jdk_x64_linux_hotspot_14.0.2_12.tar.gz
|
||||
tar -zxvf OpenJDK*
|
||||
rm OpenJDK*
|
||||
mv jdk* jdk/
|
||||
jdk/bin/jlink --no-header-files --no-man-pages --compress=2 --strip-debug \
|
||||
--exclude-files=**java_*.properties,**jrunscript,**keytool,**legal/** \
|
||||
--add-modules \
|
||||
java.desktop, \
|
||||
java.logging, \
|
||||
java.management, \
|
||||
java.naming, \
|
||||
java.net.http, \
|
||||
java.scripting, \
|
||||
java.sql, \
|
||||
jdk.crypto.ec, \
|
||||
jdk.unsupported, \
|
||||
jdk.zipfs, \
|
||||
openj9.sharedclasses \
|
||||
--add-modules java.desktop,java.logging,java.management,java.naming,java.net.http,java.scripting,java.sql,jdk.crypto.ec,jdk.unsupported,jdk.zipfs \
|
||||
--output java
|
||||
rm -rf jdk/
|
||||
|
|
BIN
vendor/java/bin/java
vendored
BIN
vendor/java/bin/java
vendored
Binary file not shown.
BIN
vendor/java/bin/jitserver
vendored
BIN
vendor/java/bin/jitserver
vendored
Binary file not shown.
1167
vendor/java/lib/classlist
vendored
Normal file
1167
vendor/java/lib/classlist
vendored
Normal file
File diff suppressed because it is too large
Load diff
BIN
vendor/java/lib/compressedrefs/j9ddr.dat
vendored
BIN
vendor/java/lib/compressedrefs/j9ddr.dat
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9dmp29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9dmp29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9gc29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9gc29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9gcchk29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9gcchk29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9hookable29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9hookable29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9jit29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9jit29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9jnichk29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9jnichk29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9jvmti29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9jvmti29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9prt29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9prt29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9shr29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9shr29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9thr29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9thr29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9trc29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9trc29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9vm29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9vm29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9vmchk29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9vmchk29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9vrb29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9vrb29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libj9zlib29.so
vendored
BIN
vendor/java/lib/compressedrefs/libj9zlib29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libjclse29.so
vendored
BIN
vendor/java/lib/compressedrefs/libjclse29.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libjvm.so
vendored
BIN
vendor/java/lib/compressedrefs/libjvm.so
vendored
Binary file not shown.
BIN
vendor/java/lib/compressedrefs/libomrsig.so
vendored
BIN
vendor/java/lib/compressedrefs/libomrsig.so
vendored
Binary file not shown.
BIN
vendor/java/lib/j9vm/libjsig.so
vendored
BIN
vendor/java/lib/j9vm/libjsig.so
vendored
Binary file not shown.
BIN
vendor/java/lib/j9vm/libjvm.so
vendored
BIN
vendor/java/lib/j9vm/libjvm.so
vendored
Binary file not shown.
1920
vendor/java/lib/java.properties
vendored
1920
vendor/java/lib/java.properties
vendored
File diff suppressed because it is too large
Load diff
BIN
vendor/java/lib/jexec
vendored
BIN
vendor/java/lib/jexec
vendored
Binary file not shown.
BIN
vendor/java/lib/jrt-fs.jar
vendored
BIN
vendor/java/lib/jrt-fs.jar
vendored
Binary file not shown.
BIN
vendor/java/lib/jspawnhelper
vendored
BIN
vendor/java/lib/jspawnhelper
vendored
Binary file not shown.
BIN
vendor/java/lib/libawt.so
vendored
BIN
vendor/java/lib/libawt.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libawt_headless.so
vendored
BIN
vendor/java/lib/libawt_headless.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libawt_xawt.so
vendored
BIN
vendor/java/lib/libawt_xawt.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libfontmanager.so
vendored
BIN
vendor/java/lib/libfontmanager.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libfreetype.so
vendored
BIN
vendor/java/lib/libfreetype.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libjava.so
vendored
BIN
vendor/java/lib/libjava.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libjavajpeg.so
vendored
BIN
vendor/java/lib/libjavajpeg.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libjawt.so
vendored
BIN
vendor/java/lib/libjawt.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libjimage.so
vendored
BIN
vendor/java/lib/libjimage.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libjli.so
vendored
BIN
vendor/java/lib/libjli.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libjncrypto.so
vendored
BIN
vendor/java/lib/libjncrypto.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libjsig.so
vendored
BIN
vendor/java/lib/libjsig.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libjsound.so
vendored
BIN
vendor/java/lib/libjsound.so
vendored
Binary file not shown.
BIN
vendor/java/lib/liblcms.so
vendored
BIN
vendor/java/lib/liblcms.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libmanagement.so
vendored
BIN
vendor/java/lib/libmanagement.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libmlib_image.so
vendored
BIN
vendor/java/lib/libmlib_image.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libnet.so
vendored
BIN
vendor/java/lib/libnet.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libnio.so
vendored
BIN
vendor/java/lib/libnio.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libprefs.so
vendored
BIN
vendor/java/lib/libprefs.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libsplashscreen.so
vendored
BIN
vendor/java/lib/libsplashscreen.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libsunec.so
vendored
BIN
vendor/java/lib/libsunec.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libverify.so
vendored
BIN
vendor/java/lib/libverify.so
vendored
Binary file not shown.
BIN
vendor/java/lib/libzip.so
vendored
BIN
vendor/java/lib/libzip.so
vendored
Binary file not shown.
BIN
vendor/java/lib/modules
vendored
BIN
vendor/java/lib/modules
vendored
Binary file not shown.
1
vendor/java/lib/options.default
vendored
1
vendor/java/lib/options.default
vendored
|
@ -1 +0,0 @@
|
|||
"-Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple"
|
33
vendor/java/lib/security/default.policy
vendored
33
vendor/java/lib/security/default.policy
vendored
|
@ -103,19 +103,6 @@ grant codeBase "jrt:/jdk.accessibility" {
|
|||
permission java.lang.RuntimePermission "accessClassInPackage.sun.awt";
|
||||
};
|
||||
|
||||
grant codeBase "jrt:/jdk.attach" {
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.com.ibm.oti.util";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.openj9.internal.tools.attach.target";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.openj9.internal.tools.attach.diagnostics.base";
|
||||
permission java.util.PropertyPermission "com.ibm.tools.attach.*", "read";
|
||||
// required by com.ibm.tools.attach.attacher.OpenJ9AttachProvider.listVirtualMachinesImp():commonDir.exists(),
|
||||
// openj9.internal.tools.attach.target.Reply.writeReply():new RandomAccessFile(replyFile, "rw"),
|
||||
// and openj9.internal.tools.attach.target.Reply.deleteReply():replyFile.delete()
|
||||
permission java.io.FilePermission "<<ALL FILES>>", "read,write,delete";
|
||||
// required by com.ibm.tools.attach.attacher.OpenJ9VirtualMachine.tryAttachTarget():targetServer.accept()
|
||||
permission java.net.SocketPermission "localhost:1024-", "accept,resolve";
|
||||
};
|
||||
|
||||
grant codeBase "jrt:/jdk.charsets" {
|
||||
permission java.util.PropertyPermission "os.name", "read";
|
||||
permission java.lang.RuntimePermission "charsetProvider";
|
||||
|
@ -219,26 +206,6 @@ grant codeBase "jrt:/jdk.zipfs" {
|
|||
permission java.util.PropertyPermission "user.name", "read";
|
||||
};
|
||||
|
||||
grant codeBase "jrt:/openj9.cuda" {
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.com.ibm.oti.vm";
|
||||
permission java.lang.RuntimePermission "loadLibrary.cuda4j29";
|
||||
permission java.lang.RuntimePermission "modifyThread";
|
||||
permission java.lang.RuntimePermission "modifyThreadGroup";
|
||||
permission java.util.PropertyPermission "com.ibm.oti.vm.library.version", "read";
|
||||
};
|
||||
|
||||
grant codeBase "jrt:/openj9.gpu" {
|
||||
permission com.ibm.gpu.GPUPermission "access";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.com.ibm.gpu.spi";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.com.ibm.oti.vm";
|
||||
permission java.lang.RuntimePermission "modifyThread";
|
||||
permission java.lang.RuntimePermission "modifyThreadGroup";
|
||||
permission java.util.PropertyPermission "com.ibm.gpu.verbose", "read";
|
||||
permission java.util.PropertyPermission "com.ibm.gpu.enforce", "read";
|
||||
permission java.util.PropertyPermission "com.ibm.gpu.enable", "read";
|
||||
permission java.util.PropertyPermission "com.ibm.gpu.disable", "read";
|
||||
};
|
||||
|
||||
// permissions needed by applications using java.desktop module
|
||||
grant {
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.com.sun.beans";
|
||||
|
|
BIN
vendor/java/lib/server/classes.jsa
vendored
Normal file
BIN
vendor/java/lib/server/classes.jsa
vendored
Normal file
Binary file not shown.
BIN
vendor/java/lib/server/libjsig.so
vendored
BIN
vendor/java/lib/server/libjsig.so
vendored
Binary file not shown.
BIN
vendor/java/lib/server/libjvm.so
vendored
BIN
vendor/java/lib/server/libjvm.so
vendored
Binary file not shown.
2
vendor/java/release
vendored
2
vendor/java/release
vendored
|
@ -1,2 +1,2 @@
|
|||
JAVA_VERSION="14.0.2"
|
||||
MODULES="java.base java.datatransfer java.xml java.prefs java.desktop java.logging java.management java.security.sasl java.naming java.net.http java.scripting java.transaction.xa java.sql jdk.crypto.ec jdk.unsupported jdk.zipfs openj9.sharedclasses"
|
||||
MODULES="java.base java.datatransfer java.xml java.prefs java.desktop java.logging java.management java.security.sasl java.naming java.net.http java.scripting java.transaction.xa java.sql jdk.crypto.ec jdk.unsupported jdk.zipfs"
|
||||
|
|
Loading…
Reference in a new issue