Last active
December 23, 2019 16:29
-
-
Save gotnix/5590088 to your computer and use it in GitHub Desktop.
set tomcat enviroment
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Set java options for performance and monitor. | |
| ## Use `Concurrent Mark Sweep (CMS) Collector' . | |
| #-XX:+UseConcMarkSweepGC \ | |
| #-XX:+UseParNewGC \ | |
| # | |
| ## Use `Garbage First (G1) Garbage Collector' . | |
| # https://dev.qq.com/topic/5747b32ece67c4495539d338 超详细G1垃圾收集器介绍 | |
| # http://blog.jobbole.com/109170/ 深入理解 Java G1 垃圾收集器 | |
| # | |
| #-XX:+UseG1GC \ | |
| #-XX:MaxGCPauseMillis=200 \ | |
| # | |
| ## More infomation: | |
| # http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html | |
| # http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html | |
| # http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html | |
| # | |
| # JDK 1.8 设置持久代的参数有变化: | |
| # -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m | |
| LAN_IP=$(/sbin/ip addr show | awk --posix '$NF == "eth1" || $NF == "em2"{gsub(/\/[0-9]{1,2}/, "", $2); print $2}') | |
| JAVA_OPTS="${JAVA_OPTS} -Djava.net.preferIPv4Stack=true \ | |
| -Djava.awt.headless=true" | |
| ## 定义JMX 的访问端口,这个监控比较消耗资源,建议打开GC日志## | |
| CATALINA_OPTS=" -server \ | |
| -Xms64m \ | |
| -Xmx64m \ | |
| -XX:NewRatio=1 \ | |
| -XX:SurvivorRatio=1 \ | |
| -XX:PermSize=64m \ | |
| -XX:MaxPermSize=64m \ | |
| -XX:ThreadStackSize=128k \ | |
| -XX:+UnlockExperimentalVMOptions \ | |
| -XX:+UseBiasedLocking \ | |
| -XX:+AggressiveOpts \ | |
| -XX:+UseConcMarkSweepGC \ | |
| -XX:+UseParNewGC \ | |
| -XX:+CMSClassUnloadingEnabled \ | |
| -XX:-UseTLAB \ | |
| -XX:-UseAdaptiveSizePolicy \ | |
| -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses \ | |
| -Xloggc:${CATALINA_HOME}/logs/tomcat_gc.log \ | |
| -XX:+UseGCLogFileRotation \ | |
| -XX:NumberOfGCLogFiles=3 \ | |
| -XX:GCLogFileSize=128M \ | |
| -XX:+PrintGC \ | |
| -XX:+PrintGCDetails \ | |
| -XX:+PrintGCTimeStamps \ | |
| -XX:+PrintTenuringDistribution \ | |
| -Djava.rmi.server.hostname=${LAN_IP} \ | |
| -Dcom.sun.management.jmxremote.port=8006 \ | |
| -Dcom.sun.management.jmxremote.authenticate=false \ | |
| -Dcom.sun.management.jmxremote.ssl=false" | |
| ## 定义Tomcat 的PID文件 ## | |
| CATALINA_PID="${CATALINA_HOME}/work/tomcat.pid" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment