jvm参数学习

2022-11-01 11:43:18 浏览数 (1)

  • -noverify:关闭类验证

  • -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 &

0 人点赞