JVM内存调优一般思路

本文探讨了Java内存调优的关键点,包括新生代、老年代的比例设置,CMS垃圾回收器的使用及其可能带来的CPU负载,大对象直接进入老年代的配置,以及如何根据业务特性选择合适的垃圾回收器。同时,强调了内存泄漏、全表数据查询、文件上传下载等问题对内存的影响,并指出好的调优结果应确保业务稳定,减少不必要的垃圾回收,保持内存使用规律且成本较低。
摘要由CSDN通过智能技术生成
  1. 堆初始化和最大配置一致
  2. 新生代比例大小是否合适
  3. 新生代S区比例是否合适
  4. 老年代比例大小是否合适,垃圾占比达到好多触发老年代回收配置
  5. 元数据区大小是否合适
  6. 整个应用内存大小是否合适,本身内存太小,怎么优化都是扯淡
  7. CMS垃圾回收器压缩配置是不是需要加上,加上后可能会cpu负载增加
  8. CMS一定要注意并发担保失败问题
  9. 大对象配置直接到老年代
  10. 垃圾回收器选择,cms适合3-10G内存,再大就搞G1
  11. 业务特点:吞吐量敏感还是延迟敏感,类型不同决定不同得调优策略
  12. 内存泄漏
    1. 大量全表数据查询放到内存
    2. 文件上传下载
    3. 一致不释放的内存
    4. 字符串拼接
  13. dump内存看看那些对象占用空间较大

新生代朝生夕灭,老年代稳如泰山
好的内存调优结果满足以下几点:

  • 满足目前的业务
  • 不频繁的进行老年代垃圾回收
  • 新生代回收不掉晋升到老年代的比较少或没有
  • 新生代和老年代垃圾回收波动比较规律稳定,不会毛刺多
  • 元数据空间够用
  • 更少的内存成本满足同样的业务
  • 满足业务的峰值波动,比如能应对双十一的波动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值