📚 分类
JVM
🕵🏽‍♀️ 问题描述
堆空间设置多少合适?
👨‍🏫 问题讲解
设置堆的初始大小和最大大小,为了防止垃圾收集器在初始大小、最大大小之间收缩堆而产生额外的时间,通常把最大、初始大小设置为相同的值。

-Xms: 设置堆的初始化大小
-Xmx: 设置堆的最大大小
不指定单位默认为字节,指定单位,按照指定的单位设置

-Xms: 1024
-Xms: 1024k
-Xms: 1024m
-Xms: lg

❒ 堆空间设置多少合适?

✔ 最大大小的默认值是物理内存的 1/4,初始大小是物理内存的 1/64
✔ 堆太小,可能会频繁的导致年轻代和老年代的垃圾回收,会产生stw,暂停用户线程
✔ 堆内存大肯定是好的,存在风险,假如发生了fullgc,它会扫描整个堆空间,暂停用户线程的时间长
✔ 设置参考推荐:尽量大,也要考察一下当前计算机其他程序的内存使用情况
🏳️‍🌈 问题总结
对于JVM调优,主要就是调整年轻代、老年代、元空间的内存空间大小及使用的垃圾回收器类型。

✔ 设置堆空间大小
✔ 虚拟机栈的设置
✔ 年轻代中Eden区和两个Survivor区的大小比例
✔ 年轻代晋升老年代阈值
✔ 设置垃圾回收收集器
📖 问题信息
📈 浏览次数:18 | 📅 更新时间:2025-12-25 21:46:21
📦 创建信息
🏷️ ID:144 | 📅 创建时间:2025-02-02 14:57:31