• JVM调优常用参数设置


    JVM 调优

    JVM常用参数

    Xss:每个线程的栈大小

    Xms:堆空间的初始值

    Xmx:堆空间最大值、默认为物理内存的1/4,一般Xms与Xmx最好一样

    Xmn:年轻代的大小

    XX:NewRatio :新生代和年老代的比例

    XX:SurvivorRatio :伊甸园区和幸存区的占用比例

    XX:PermSize:设定内存的永久保存区域(1.8已废除)

    XX:MetaspaceSize:1.8使用此参数替代上述参数

    XX:MaxPermSize:设定最大内存的永久保存区域(1.8已废除)

    XX:MaxMetaspaceSize:1.8使用此参数替代上述参数

    堆设置 

    -Xms :初始堆大小

    -Xmx :最大堆大小

    -XX:NewSize=n :设置年轻代大小

    -XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4

    -XX:SurvivorRatio=n :年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5

    -XX:MaxPermSize=n :设置持久代大小

    收集器设置 

    -XX:+UseSerialGC :设置串行收集器

    -XX:+UseParallelGC :设置并行收集器

    -XX:+UseParalledlOldGC :设置并行年老代收集器

    -XX:+UseConcMarkSweepGC :设置并发收集器

    垃圾回收统计信息 

    -XX:+PrintHeapAtGC GC的heap详情

    -XX:+PrintGCDetails  GC详情

    -XX:+PrintGCTimeStamps  打印GC时间信息

    -XX:+PrintTenuringDistribution    打印年龄信息等

    -XX:+HandlePromotionFailure   老年代分配担保(true  or false)

    并行收集器设置 

    -XX:ParallelGCThreads=n :设置并行收集器收集时使用的CPU数。并行收集线程数。

    -XX:MaxGCPauseMillis=n :设置并行收集最大暂停时间

    -XX:GCTimeRatio=n :设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

    并发收集器设置 

    -XX:+CMSIncrementalMode :设置为增量模式。适用于单CPU情况。

    -XX:ParallelGCThreads=n :设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数。

    出现内存泄漏的时候会有两种情况,这种错误又分两种:java.lang.OutOfMemoryError: Java heap space和java.lang.OutOfMemoryError: PermGen space。

    引起这种错误的原因可能是程序问题,也可能是是JVM参数配置问题引起的。

    若是参数问题,前者可以通过配置-Xms和-Xmx参数来设置,而后者可以通过配置 -XX:PermSize和-XX:MaxPermSize来设置。

     

  • 相关阅读:
    登录业务逻辑相关
    自定义弹出效果
    'Missing recommended icon file
    检查项目里是否有IDFA的方法
    cell当中的按钮如何获得cell内容
    iOS开发中打电话发短信等功能的实现
    iOS 判断设备型号
    iOS 根据字符串内容动态计算行高
    IOS TableView 去除点击后产生的灰色背景
    App上架流程(2016最新)
  • 原文地址:https://www.cnblogs.com/weigy/p/12579283.html
Copyright © 2020-2023  润新知