1. #!/bin/sh
    2. export LANG=zh_CN.gbk
    3. app_path=$(cd $(dirname $0);pwd);
    4. app_jar="test-project.jar"
    5. run_log="${app_path}/logs/run.log"
    6. gc_log="${app_path}/logs/gc.log"
    7. #jvm mem
    8. java_args+=" -XX:MetaspaceSize=50M -XX:MaxMetaspaceSize=100M -Xms500m -Xmx1024m -Xmn300m";
    9. #gc config
    10. java_args+=" -XX:+UseG1GC ";
    11. #gc info print
    12. java_args+=" -verbose:gc -Xloggc:${gc_log} -XX:PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutofMemoryError";
    13. #remote debug
    14. java_args+=" -Xdebug -Xrunjdwp:transport=dt_socket,address=51000,server=y,suspend=n ";
    15. #JMX
    16. java_args+=" -Dcom.sun.management.jmxremote.port=41000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
    17. nohup java ${java_args} -Djava.ext.dirs=./lib:${JAVA_HOME}/jre/lib/ext -jar ${app_path}/${app_jar} "$1" >>${run_log} 2>&1 &
    18. #save pid and date
    19. echo "$!">${app_path}/pid
    20. echo "START at $DATE PID $PID">>${run.log}
    21. echo "server startup [$!]"