zoukankan      html  css  js  c++  java
  • JVM常用启动参数


    通用配置

    -Xms4096m //最小堆内存

    -Xmx4096m //最大堆内存

    -Xmn2048m //年轻代大小

    -XX:SurvivorRatio=8 //设置eden区和survivor区的内存大小比例,例如8就代表eden和两个survivor区的比例是8:1:1

    -XX:MaxTenuringThreshold=15(5~15) //在新生代对象存活次数(经过Minor GC的次数)超过n后,就会晋升到老年代 

    -XX:TargetSurvivorRatio=90 //在新生代的对象不一定要满足存活年龄达到MaxTenuringThreshold才能去老年代,当Survivor空间中相同年龄所有对象大小总和大于[Desired survivor size]时,年龄大于或等于该年龄的对象直接进入老年代。[Desired survivor size]=单个survivor大小*TargetSurvivorRatio百分比

    -XX:PermSize=512M //永久代初始值

    -XX:MaxPermSize=512m //永久代最大值

    -Xss256k //每个线程的堆栈大小

    -XX:+DisableExplicitGC //禁止显式调用System.gc()

    CMS+ParNew收集器配置

    -XX:+UseConcMarkSweepGC //使用CMS收集器

    -XX:+UseParNewGC //使用ParNew收集器

    -XX:ParallelGCThreads=20 //设置ParNew收集器的垃圾回收并行线程数

    -XX:CMSInitiatingOccupancyFraction=85 //在老年代内存到达n%的时候开始CMS回收(因为CMS回收时用户线程并发,因此要提前开始回收)

    日志配置

    -verbose:gc //输出gc详情

    -XX:+PrintGCDateStamps //GC发生的时间信息

    -XX:+PrintGCDetails //显示GC详细信息

    -Xloggc:logs/gc_`date '+%Y-%m-%d_%H:%M:%S'`.log //gc日志产生的路径

    调试配置

    -XX:+PrintTenuringDistribution  //输出在survivor空间里面有效的对象的岁数情况

    -XX:+TraceClassLoading  //输出类加载信息

    快速可用的组合配置(用于BS场景)

    -Xms2048m -Xmx2048m -Xmn1024m -XX:PermSize=128m -XX:MaxPermSize=128m -Xss512k -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50

    官方的vm参数页面,可以在里面直接查命令的解释:

    http://www.oracle.com/technetwork/java/vmoptions-jsp-140102.html

  • 相关阅读:
    delete与double free
    OpenCV(1)——基础数据结构CvMat
    防止表单自动提交_随笔2012年5月16日
    Flex 学习笔记学习资料
    当析构函数遇到多线程 ── C++ 中线程安全的对象回调
    .NET Core2.0+MVC 用session,cookie实现的sso单点登录
    TreeView中右击直接获取节点的方法
    webservice 远程调试配置
    数组,集合 转成DataTable 方法
    String类中几个简单的常用方法
  • 原文地址:https://www.cnblogs.com/sheeva/p/6273797.html
Copyright © 2011-2022 走看看