关于JVM调优的思路

1. 上线前

总堆内存大小

一般设置为总内存大小一半左右

-xmn 新生代内存设置大小

官方推荐为总内存大小3/8,根据所部署的服务是有状态还是无状态服务,无状态服务可以适当调大一点,但一般不能超过3/4,否则会到导致一次YGC过长。

垃圾回收器选择(Java8)

G1垃圾回收器:适合堆内存大,兼顾吞吐量以及低延迟的应用,要求的堆内存大小至少1MB*2048=2GB

CMS垃圾回收器: 适合低延迟的应用,吞吐量比较低,另外垃圾回收后,容易产生内存碎片,慎用
并行回收器: java8默认回收器,吞吐量比较高,但是STW可能会比较高。
高吞吐量的应用,一般比如大批量处理数据的定时任务
低延迟应用,直接暴露给C端用户的应用

程序启动打开-XX:+HeapDumpOnOutOfMemoryError

当发生OOM会生成dump文件,可以导出,用MAT工具查看哪些对象占用内存过大,方便排查问题

接入监控,比如promethues,方便查看GC情况,并设置告警,方便快速响应

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值