• JVM 常用参数设置(针对 G1GC)


     ===========================================================

    -XX 开头,这些是 JVM 的所有实现 都支持的 最常用的选项
    ===========================================================

    bool类型的开关选项(+开启、-关闭)

    -XX:+UseG1GC

      使用G1GC
    -XX:+PreserveFramePointer  

      使用FP寄存器来保存帧指针,而不是作为通用寄存器。解决了stack不完整的问题
    -XX:+PrintGC

      打印简单GC日志
    -XX:+PrintGCDetails

      打印详细GC日志
    -XX:+PrintGCDateStamps

      显示每次GC的日期时间
    -XX:+UseGCLogFileRotation

      GC日志文件循环使用(比如,5个日志文件循环使用)
    -XX:+HeapDumpOnOutOfMemoryError 

      可以让JVM在出现内存溢出时候Dump出当前的内存转储快照
    -XX:-OmitStackTraceInFastThrow
      关闭栈异常信息快速抛出,从而记录详细的栈异常以便跟踪。

    各种配置的键值
    -XX:MetaspaceSize=128m
      元空间的初始大小,不断扩容并首次超过这个值时会进行FGC,JVM会动态调整这个值
    -XX:MaxMetaspaceSize=256m
      元空间的最大值,超过最大值时会抛异常出来,加载的类越多,元空间使用的内存越多,元空间使用 Native Memory。
    -XX:MaxGCPauseMillis=200
      最大GC暂停时间,用户可以设置这个值,G1GC尽量保证软实时性
    -XX:ParallelGCThreads=4
      最大并行GC线程数
    -XX:ConcGCThreads=4
      最大并发GC线程数
    -XX:MinHeapFreeRatio=30
      指定空闲堆空间的最小百分比,如果实际空闲堆空间小于此值则需要对堆进行扩容 ,Xmx==Xms 的情况下无效
    -XX:MaxHeapFreeRatio=50
      指定空闲堆空间最大百分比 ,如果实际空闲堆空间大于此值则需要对对堆空间进行缩容,Xmx==Xms 的情况下无效
    -XX:CICompilerCount=3
    -XX:NumberOfGCLogFiles=5
      GC日志文件数,可以设置循环使用
    -XX:GCLogFileSize=32M
      每个GC日志文件的默认大小
    -XX:HeapDumpPath=/opt/logs/appid
      堆转储快照文件保存的路径
     

    ===========================================================

    -X 开头,这些选项是特定于 Java HotSpot 虚拟机通用选项
    ===========================================================
    -Xmx6144m
      JVM 最大堆内存
    -Xms3686m
      JVM 初始堆内存
    -Xss256k
      设置属于每个线程的栈大小
    -Xloggc:/opt/logs/appid/gc.log
      GC日志文件保存的路径
     

    ===========================================================

    -D开头,设置系统属性值(属性名称=属性值)
    ===========================================================
    -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    -Dport.http.server=8080
    -Dport.shutdown.server=8081
    -Ddocbase.server=/opt/app
    -Dvdir.server=
    -Djava.security.egd=file:/dev/./urandom
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.ssl=false
    -Djava.rmi.server.hostname=192.168.0.1
    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=8780
    -Dcom.sun.management.jmxremote.rmi.port=8780
    -Dcom.sun.management.jmxremote.local.only=false
    -Djdk.tls.ephemeralDHKeySize=2048
    -Dignore.endorsed.dirs=
    -Dcatalina.base=/opt/tomcat
    -Dcatalina.home=/opt/tomcat
    -Djava.io.tmpdir=/opt/tomcat/temp
    -Djava.util.concurrent.ForkJoinPool.common.parallelism=4

  • 相关阅读:
    ES vm报错
    ln -s /usr/local/jdk1.8.0_201/bin/java /bin/java
    docker压缩导入导出
    微软各种资源整理(迅雷下载),感谢站长。
    python打开文件的访问方式
    docker换源
    selinux
    ElasticsearchException: java.io.IOException: failed to read [id:0, file:/data/elasticsearch/nodes/0/_state/global-0.st]
    带了纸和笔,要记哪些东西?
    redis命令行批量删除匹配到的key
  • 原文地址:https://www.cnblogs.com/frankyou/p/15048531.html
Copyright © 2020-2023  润新知