012、JVM实战总结:案例实战:每日百万交易的支付系统,JVM栈内存与永久代大小又该如何设置?

更详细内容请扫描上方的二维码

1、前文回顾

如何根据对未来预估的业务量和访问量去推算每秒的并发量、内存空间占用等,进而推算出内存运转模型,然后选择合理的机器配置,配置合理的内存大小

2、基于案例,说说不合理设置内存的反面示例

1台2核4G,线上JVM堆内存只有1G,扣除老年代之后,新生代其实就几百MB。高峰期每秒大概100笔支付交易,50kb/100订单.秒,扩大20倍 1MB/秒

3、大促期间,瞬时访问量增加十倍

每秒钟上千笔订单,不光是内存,尤其是线程资源、CPU资源,都会几乎打满

4、少数请求需要几十秒处理,导致老年代内存占用变大

每秒过来的1000笔交易,不再是1秒就可以处理完毕了,压力骤增,会导致你的系统性能下降,处理时间变长,minorgc频繁,系统卡顿、很多对象进入老年代

5、老年代对象越来越多导致频繁垃圾回收

老年代很快也会满,导致MajorGC频繁。本身MajorGC就慢,系统会严重卡顿

6、反面案例总结

突发的流量压力,突发的性能抖动,导致很多对象长期在新生代被人引用,无法回收,最后持续进入老年代,触发老年代内存频繁占满,老年代频繁被垃圾回收

7、如何合理设置永久代大小?

设置个几百MB大体上都是够用

8、如何合理设置栈内存大小

一般默认就是比如512KB到1MB,就差不多够了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java硕哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值