设为首页 加入收藏

TOP

JVM总结(三)
2023-07-25 21:41:17 】 浏览:75
Tags:JVM 总结
优量化目标
  • 调整JVM调优参数,包括内存,延迟,吞吐量
  • 观察调优前后的差异,不断分析和调整,找到最合适的参数
  • 将这些参数应用到服务器
  • 调优参数

    语法

    • -XX:+ ' +'表示启用该选项
    • -XX:- '-'表示关闭该选项
    • -XX:= '='给选项设置一个数字类型的值,可跟随单位,例如:m和M表示兆字节,k和K表示k字节,g和G表示千兆字节

    参数示例

    -Xms4g:设置最小堆内存大小为4g,堆内存初始大小
    -Xmx4g:设置最大堆内存大小为4g,堆内存最大值
    -Xmn1200m:设置年轻代大小为1200MB,增大年轻代后,将会减小老年代的大小,这个值对系统性能较大,官方推荐配置为整个堆的3/8
    -Xss512K:设置每个线程的堆栈大小,JDK5.0后每个线程堆栈大小为1MB,以前为256K,值越小,能创建的线程越多
    -XX:NewRatio=4:设置年轻代与老年代的比值为1:4,年轻代占整个堆栈的1/5
    -XX:SurvivorRatio=8:设置年轻代中Eden区和Survivor区的比值为2:8,一个Survivor区占整个年轻代的1/10
    -XX:MaxTenuringThreshold=15:设置Survivor区中对象年龄的最大值为15,超过这个值则进入老年代,如果设置为0,则年轻代不经过Survivor,直接进入老年代
    -XX:+UseParNewGC:年轻代
    -XX:+UseConcMarkSweepGC:老年代
    

    常用调优参数

    -Xms:初始化堆内存大小,默认为物理内存的1/64(小于1G)
    -Xmx:堆内存的最大值。默认(MaxHeapFreeRation参数可以调整)空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制
    -Xmn:新生代大小,包括Eden和两个Survivor区
    -XX:MaxDirectMemorySize=1G:直接内存,报java.lang.OutOfMemoryError:Direct buffer memory异常时可以上调这个值
    -XX:+DisableExplicitGC:禁止运行期间显示的调用System.gc()来触发full GC
    -XX:CMSlnitiatingOccupancyFraction=60:老年代内存回收阈值,默认为68
    -XX:ConcGCThreads=4:CMS垃圾回收器并行线程数,推荐值为CPU核心数
    -XX:ParallelGCThreads=8:新生代并行收集器的线程数
    -XX:MaxTenuringThreshold=10:Survivor区的最大年龄值,超过就会进入老年代
    
    首页 上一页 1 2 3 下一页 尾页 3/3/3
    】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
    上一篇一个更适合Java初学者的轻量级开.. 下一篇面试官:怎么删除 HashMap 中的元..

    最新文章

    热门文章

    Hot 文章

    Python

    C 语言

    C++基础

    大数据基础

    linux编程基础

    C/C++面试题目