前言 有被 JVM 相关问题刁难过吗? 上个月朋友去面某东说被 JVM 难哭了 面试官上来就是素质三连: 有没有 高并发项目经验 、 频繁 gc 怎么解决 、 有没有搞过 JVM 调优 我那个朋友公司做的是 to b 方向 , 系统流量不是很大 , 加上才工作 2 年直接被问懵逼 回来就问我高并发系统怎么玩 , 为了避免重复劳动 , 遂有此文~ 一、亿级流量系统回顾 在上篇文章中有对这个系统的亿级流量怎么来的有详细的介绍: 亿级流量系统简介 接下来做个回顾: OTA 平台 4亿 用户 高峰期 百万 订单 高峰期 12 小时 1.8亿 访问量 每小时的流量是: 1.8亿 / 12 = 1250w 每分的流量是: 1250w / 60 = 20.8w 每秒的流量是: 20.8w / 60 = 3472 2 个集群 32 台 8C/16G 的机器 一次核心接口查询平均占用 5mb 内存 每秒钟 JVM 会有 550mb 的新生代堆内存空间被占用 二、系统的 JVM 参数 基于G1垃圾收集器 这里我截取了这个服务生产环境的 JVM 参数: -Xmx12288m 初始堆大小. -Xms12288m 最大堆大小 -Xss256k 每个线程的栈内存大小 -XX:MetaspaceSize=256m 元空间初始大小 -XX:MaxMetaspaceSize=1g 元空间最大大小 -XX