JVM参数优化

-Xms512m //堆内存最小值
-Xmx512m //堆内存最大值
-XX:NewRatio=1 // 年轻代和老年代占比
-XX:MetaspaceSize=128m // 永久代内存
-XX:MaxMetaspaceSize=256m // 永久代最大内存
-Xloggc:/data/tsf_apm/monitor/jvm-metrics/gclog.log // jvm日志输出位置
-XX:+PrintGCDateStamps // 输出GC的时间戳(以日期的形式,如 2020-05-04T21:53:59.234+0800
-XX:+PrintGCDetails // 输出详细GC日志
-verbose:gc // 在控制台输出GC情况

-XX:+UseGCLogFileRotation // GC日志输出下面配置的8个文件,每个文件大小50M。缺点会删除之前的日志文件
-XX:NumberOfGCLogFiles=8 
-XX:GCLogFileSize=50M   

-XX:+AlwaysPreTouch // -Xmx和-Xms 只是设置的虚拟内存,开启此项启动时将分配物理内存,增加代码运行效率,但是启动时间会大大增加
-Xss512k // 栈空间大小


-XX:+UseConcMarkSweepGC // 使用CMS,适合BS应用系统 
-XX:+UseCMSCompactAtFullCollection // 使用CMS GC时会产生内存碎片,启动此参数将在CMS FullGC 时进行内存碎片整理 
-XX:CMSFullGCsBeforeCompaction=1 // 间隔几次FullGC在进行内存碎片整理,如果FullGC频繁则需要调大此参数

-XX:CMSInitiatingOccupancyFraction=75 // 老年代使用率占比多少时进行GC
-XX:+UseCMSInitiatingOccupancyOnly // 不启用此项将根据jvm自己状态决定是否GC

-XX:+ExplicitGCInvokesConcurrent // 使FullGC时间减少

-XX:+ParallelRefProcEnabled // 是否并行处理引用,默认false,也有建议采用默认项

-XX:+CMSParallelInitialMarkEnabled // CMS 是否启用多线程并行标记,可以减小FullGC时间
-XX:MaxTenuringThreshold=3 // 经过几次MinorGC后进入老年代

-XX:+UnlockDiagnosticVMOptions // 是否使用额外参数,用于jvm诊断

-XX:ParGCCardsPerStrideChunk=1024 // 调大有可能会优化FullGC效率
-XX:-UseBiasedLocking // 设置启动偏向锁
-XX:AutoBoxCacheMax=20000 // 修改Integer的缓存范围,默认-128 ~ +127 
-Djava.security.egd=file:/dev/./urandom // 加快随机数产生过程
-Djava.net.preferIPv4Stack=true // java仅支持ipv4
-Dfile.encoding=UTF-8 // 设置编码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值