建设银行投资网站首页,wordpress友情链接样式,潍坊网站制作小程序,洛阳建设局网站文章目录 1. 设置堆空间大小2. 虚拟机栈的设置3. 年轻代中Eden区和两个Survivor区的大小比例4. 年轻代晋升老年代阈值5. 设置垃圾回收收集器 1. 设置堆空间大小
设置堆的初始大小和最大大小#xff0c;为了防止垃圾收集器在初始大小、最大大小之间收缩堆而产生额外的时间为了防止垃圾收集器在初始大小、最大大小之间收缩堆而产生额外的时间通常把最大、初始大小设置为相同的值。 堆空间设置多少合适 最大大小的默认值是物理内存的1/4初始大小是物理内存的1/64 堆太小可能会频繁的导致年轻代和老年代的垃圾回收会产生stw暂停用户线程 堆内存大肯定是好的存在风险假如发生了fullgc,它会扫描整个堆空间暂停用户线程的时间长 设置参考推荐尽量大也要考察一下当前计算机其他程序的内存使用情况 2. 虚拟机栈的设置
虚拟机栈的设置每个线程默认会开启1M的内存用于存放栈帧、调用参数、局部变量等但一般256K就够用。通常减少每个线程的堆栈可以产生更多的线程但这实际上还受限于操作系统。 3. 年轻代中Eden区和两个Survivor区的大小比例
设置年轻代中Eden区和两个Survivor区的大小比例。该值如果不设置则默认比例为8:1:1。通过增大Eden区的大小来减少YGC发生的次数但有时我们发现虽然次数减少了但Eden区满的时候由于占用的空间较大导致释放缓慢此时STW的时间较长因此需要按照程序情况去调优。 4. 年轻代晋升老年代阈值 5. 设置垃圾回收收集器