2022-11-01 11:43:18
浏览数 (1)
- -server:JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升。
- -Xmx12G -Xms12G:堆内存最大最小值
- -XX: ExplicitGCInvokesConcurrent:调用System.gc()时,不是进行fullgc,而是并发的CMS GC。
- -XX: UseG1GC:使用G1垃圾回收器
- -XX:MaxGCPauseMillis=200:设置GC暂停等待时间,单位为毫秒,不要设置过低
- -XX:MaxMetaspaceSize=512M:元空间最大内存大小
- -XX:MetaspaceSize=512M:元空间大小
- -XX:LargePageSizeInBytes=128M:内存页的大小不可设置过大, 会影响Perm的大小
- XX: UseFastAccessorMethods:原始类型的快速优化(get,set 方法转成本地代码(对于jvm来说是冗余代码,jvm将进行优化))
- -XX:SoftRefLRUPolicyMSPerMB=0:表示0忍耐度,所有的软引用对象都要尽快的被释放。原文:https://blog.csdn.net/weixin_38106322/article/details/109166228
- -XX: PrintClassHistogram:按下Ctrl Break后,打印类的信息
- -XX: PrintHeapAtGC:每次GC都打印信息
- -XX: PrintGCDetails:打印GC详细信息。原文::https://blog.csdn.net/u012745499/article/details/108591198
- -XX: PrintGCDateStamps、-XX: PrintGCTimeStamps:输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234 0800)
- Xloggc:GC日志存放位置
- -XX: HeapDumpOnOutOfMemoryError:当堆内存空间溢出时输出堆的内存快照
- -XX:HeapDumpPath:dump产生路径
- -XX:OnOutOfMemoryError:发生内存溢出调用的脚本
- -Dcom.sun.management.jmxremote.port=26666:jmx远程端口26666
- -Dcom.sun.management.jmxremote.ssl=false:关闭ssl
- -Dcom.sun.management.jmxremote.authenticate=false:不需要鉴权
- -javaagent:嵌入的jar包,端口及host
代码语言:javascript
复制#!/bin/sh
JAVA_HOME=/home/app/jdk1.8.0_101
APP_HOME=/home/app/service
APP_CLASSPATH=$APP_HOME/app
APP_CLASSPATH=$APP_CLASSPATH:` find $APP_HOME/lib -name *.jar|tr 'n' ':'`
export JAVA_HOME APP_HOME APP_CLASSPATH
CURRENT_DATE=`date %Y%m%d%H%M%S`
$JAVA_HOME/bin/java -noverify -server -Xmx12G -Xms12G -Xss256K -XX: ExplicitGCInvokesConcurrent -XX: UseG1GC -XX:MaxGCPauseMillis=200 -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:LargePageSizeInBytes=128M -XX: UseFastAccessorMethods -XX:SoftRefLRUPolicyMSPerMB=0 -XX: PrintClassHistogram -XX: PrintGCDetails -XX: PrintGCDateStamps -XX: PrintGCTimeStamps -XX: PrintHeapAtGC -Xloggc:$APP_HOME/logs/gc_$CURRENT_DATE.log -XX: HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$APP_HOME/temp/ -XX:OnOutOfMemoryError=$APP_HOME/restart.sh -Dcom.sun.management.jmxremote.port=26666 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -javaagent:$APP_HOME/jolokia/jolokia-jvm-1.6.2-agent.jar=port=8700,host=0.0.0.0 -jar $APP_HOME/app/*.jar --profile=prod >$APP_HOME/logs/startup.log 2>&1 &