• jvm 参数配置


    3ac651246b8847e7a76d734a9e257b3a.jpg查看当前jvm配置参数的值

     

    jsp查看所有的jvm端口

    jinfo -flag 参数(XX:后面的)

     

    JIT配置

    -XX:CompileThreshold在方法调用的默认阈值在客户端1500次,在服务器端10000次。

    -XX:-UseCounterDecay用来关闭热度衰减。

    -XX:CounterHalfLifeTime设置半衰减的时间,单位是秒。

     

    设置解释和编译的模式

    -Xint 设置成纯解释器模式

    -Xcomp 设置纯编译器模式

    -Xmixed 设置成解释和编译器混合模式

     

    设置jvm的client和server模式

    -client 不在64位,可设置为client模式,方法内联:将引用的函数代码编译到引用点处,减少栈帧的生成,减少参数传递以及跳转过程;去虚拟化:对唯一的实现类进行内联;冗余消除:在运行期间把一些不会执行的代码折叠掉。

    -server 在64位,优化包括:标量替换,栈上分配,同步消除基于逃逸分析。

     

    Graal编辑器

    -XX:+UnlockExperimentalVMOptions -XX:UseJVMCICompiler去开启Graal编译器

     

    字符串常量池

    -XX:StringTableSize jdk6默认为1009,jdk7默认为60013,jd8开始设置值的最小值1009。

    -XX:+PrintStringTableStatistics 打印常量池的统计信息

     

    异常错误dump

    -XX:+HeapDumpOnOutOfMemoryError 堆出现oom时生成dump文件

     

    使用的垃圾收集器

     

     

    -XX:+PrintCommandLineFlags

    -XX:+UseSerialGC 使用串行的垃圾回收器

    -XX:+UseParNewGC 使用并行ParNew的垃圾回收器 已经失宠

     

    -XX:+UseParallelGC 使用并行Parallel的垃圾回收器

    -XX:+UseParallelOldGC 手动指定老年代都是使用并行回收收集器。

    -XX:ParallelGCThreads 设置年轻代并行收集器的线程数。一般地,最好与CPU数量相等,以避免过多的线程数影响垃圾收集性能。

     

    -XX:MaxGCPauseMillis 设置垃圾收集器最大停顿时间(即STw的时间)。单位是毫秒。

    -XX:GCTimeRatio 垃圾收集时间占总时间的比例(=1/(N+1))。用于衡量吞吐量的大小。

    -XX:+UseAdaptivesizePolicy 设置Parallel Scavenge收集器具有自适应调节策略

    在这种模式下,年轻代的大小、Eden和Survivor的比例、晋升老年代的对象年龄等参数会被自动调整,已达到在堆大小、吞吐量和停顿时间之间的平衡点。

    在手动调优比较困难的场合,可以直接使用这种自适应的方式,仅指定虚拟机的最大堆、目标的吞吐量(GCTimeRatio)和停顿时间(MaxGCPauseMills),让虚拟机自己完成调优工作。

     

    -XX:+UseConcmarkSweepGC 使用cms的老年代回收器

    -XX:CMSInitiatingOccupanyFraction 设置堆内存使用率的阈值,一旦达到该阈值,便开始进行回收。JDK6及以上版本默认值为92%。

    -XX:+UseCMSCompactAtFullCollection 用于指定在执行完Full GC后对内存空间进行压缩整理,以此避免内存碎片的产生。不过由于内存压缩整理过程无法并发执行,所带来的问题就是停顿时间变得更长了。

    -XX:CMSFullGCsBeforeCompaction 设置在执行多少次Full GC后对内存空间进行压缩整理。

    -XX:ParallelCMSThreads 设置CMS的线程数量。

  • 相关阅读:
    openstack 业务组件安装
    约瑟夫环 数学解法
    Leetcode 155. 最小栈
    Java注解以及自定义注解
    如何快速搭建Spring Boot接口调试环境并实现公网访问
    PL/SQL+cpolar公网访问内网Oracle数据库
    如何正确的防止服务器被攻击?103.216.153.x
    Go语言实现数据结构栈和队列
    怎样在PDF上直接编辑文字?这几种编辑方法需要掌握
    灰度发布专题---1、灰度发布的意义和方案
  • 原文地址:https://blog.csdn.net/weixin_57763462/article/details/133531102