jvm配置

  1. gc log

    参数
    说明
    备注
    -Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps
    -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution
    日志内容  
    -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=8 -XX:GCLogFileSize=128K
    日志切割  Oracle Java 1.6_34 (or 1.7_2 in the latest minor version)
  2. heap memory

    参数 说明 8G内存 虚拟机 推荐配置 16G内存 虚拟机 推荐配置 备注
    -Xmx 最大堆内存大小 4g 12g 更大的堆容易引起SWAP, 使用堆外内存多(NIO等) 需要重新评估
    -Xms 初始化堆内存大小 4g 12g
    -Xmn 新生代区大小

    2g

    6g 有local cache需要再评估
    -XX:PermSize 永久代大小 128m
    -XX:MaxPermSize 最大永久代大小 512m
    -XX:NewRatio Old size / Young size 不配置,已配置-Xmn使得该参数失效
    -XX:SurvivorRatio Eden size / Survivor size 不配置,使用默认值8即可。
  3. garbage collector

    因为是在线服务,一般推荐使用CMS垃圾回收器。

    参数
    说明
    推荐配置
    -XX:+UseConcMarkSweepGC 并发标记-整理垃圾回收器 开启
    -XX:CMSInitiatingOccupancyFraction 初始化FullGC触发时Old区的使用率 70
    -XX:+UseCMSInitiatingOccupancyOnly 一直使用初始化的Old区的使用率(不自动平衡)触发FullGC 开启
    -XX:+UseCMSCompactAtFullCollection FullGC后对old区内存碎片进行整理 开启
    -XX:+CMSClassUnloadingEnabled 对永久代进行gc,防止永久代oom 开启
    -XX:+ExplicitGCInvokesConcurrent 调用System.gc时使用普通FullGC不StopTheWorld 开启
    -XX:+DisableExplicitGC 禁用System.gc 关闭
    -XX:MaxTenuringThreshold 对象在survivor区的存活次数 YoungGC时间过长或 使用Local Cache时, 该参数可能需要具体调优
  4. 编译优化

    参数
    说明
    推荐配置
    -XX:+TieredCompilation 多层编译,作用是提高vm的启动速度 开启
    -XX:CICompilerCount 优化编译的线程数 4 (或者CPU核心数)
  5. 其他参数

    参数
    说明
    推荐配置
    -Xss 线程栈大小,jdk7默认1m 线程多(大于500)场景推荐使用 128k

    其他参数使用jvm默认值可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值