• JVM常用调优配置参数


    常用的JVM配置参数:
    -Xms2g:初始化堆大小为 2g;
    -Xmx2g:堆最大内存为 2g;
    -XX:NewRatio=4:设置年轻的和老年代的内存比例为 1:4;
    -XX:SurvivorRatio=8:设置新生代 Eden 和 Survivor 比例为 8:2;
    –XX:+UseParNewGC:指定使用 ParNew + Serial Old 垃圾回收器组合;
    -XX:+UseParallelOldGC:指定使用 ParNew + ParNew Old 垃圾回收器组合;
    -XX:+UseConcMarkSweepGC:指定使用 CMS + Serial Old 垃圾回收器组合;
    -XX:+UseG1GC:设置使用G1垃圾回收器
    -XX:+PrintGC:开启打印 gc 信息;
    -XX:+PrintGCDetails:打印 gc 详细信息。
    -XX:+PrintHeapAtGC: 表示可以看到每次GC前后堆内存布局
    -XX:UseTLAB:设置使用TLAB
    -XX:+PrintTLAB: 表示可以看到TLAB的使用情况。 TLAB的全称是Thread Local Allocation Buffer 即线程本地分配缓          存区,这是一个线程专用的内存分配区域。
    -verbose:gc(-verbose:class可以输出类加载的信息)
    -Xss:表示可以设置虚拟机栈的大小为128k
    -Xoss:表示设置本地方法栈的大小为128k。不过HotSpot并不区分虚拟机栈和本地方法栈,因此对于HotSpot来说这个参数是无效的
    -XX:+TraceClassLoading: 表示查看类的加载信息
    -XX:+TraceClassUnLoading: 表示查看类的卸载信息
    -XX:+HeapDumpOnOutOfMemoryError: 表示可以让虚拟机在出现内存溢出异常时Dump出当前的堆内存转储快照
    -XX:HeapDumpPath:表示可以让虚拟机在出现内存溢出异常时Dump出当前的堆内存转储快照存储地址
    XX:OnOutOfMemoryError:当系统发生OOM错误时,虚拟机在错误发生时运行一段第三方脚本, 比如, 当OOM发生时,重置系统 -=c:\reset.bat
    -XX:-UseGCOverheadLimit:取消outofmemory警告
    -XX:PretenureSizeThreshold: 表示对象大于3145728(3M)时直接进入老年代分配,这里只能以字节作为单位
    -XX:MaxTenuringThreshold: 表示对象年龄大于1,自动进入老年代,如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象在年轻代的存活时间,增加在年轻代被回收的概率。
    -XX:CompileThreshold: 表示一个方法被调用1000次之后,会被认为是热点代码,并触发即时编译
    -XX:+UseSpining:开启自旋锁
    -XX:PreBlockSpin:更改自旋锁的自旋次数,使用这个参数必须先开启自旋锁
    -XX:MaxGCPauseMillis:设置每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。
    -XX:+UseAdaptiveSizePolicy:设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低响应时间或者收集频率等,此值建议使用并行收集器时,一直打开
    开启逃逸分析(JDK8中,逃逸分析默认开启。)
    -XX:+DoEscapeAnalysis
    关闭逃逸分析
    -XX:-DoEscapeAnalysis
    逃逸分析结果展示
    -XX:+PrintEscapeAnalysis
    (JDK8中,同步消除默认开启。)
    -XX:+EliminateLocks


    作  者:请叫我头头哥
    出  处:http://www.cnblogs.com/toutou/
    关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

  • 相关阅读:
    Highcharts之饼图
    设计模式学习之原型模式
    jQuery学习之结构解析
    JS学习之闭包的理解
    JS学习之prototype属性
    JS学习之事件冒泡
    Mybatis学习之JDBC缺陷
    Spring学习之Aop的基本概念
    Struts学习之值栈的理解
    Struts学习之自定义结果集
  • 原文地址:https://www.cnblogs.com/toutou/p/jvm_parameter.html
Copyright © 2020-2023  润新知