前言
在网上看到大部分的帖子都有介绍性能调优的案例,其中有一项就是告诉你 Xms 和 Xmx 参数一定要设置成相同的,这样就可以达到优化的目的,就像这样
-Xms1024m -Xmx1024m
但是却没说为什么要这么设置,那么这篇文章就是来告诉你这样设置的目的。底层做了哪些事情。
jvm性能调优的最基本条件
首先我们要知道,垃圾回收器(GC)在回收内存空间时候,所有的工作线程都会暂停,待回收工作完成后,工作线程才会继续运行。如果GC太频繁,工作线程的效率和响应时间肯定会受影响,所以,jvm性能调优的最基本条件就是要尽可能地减少垃圾回收的次数。

那么说到这里,jvm性能调优跟内存抖动有什么关系呢?跟Xms和Xmx又有什么关联呢?往下看,你就会知道,他们都是息息相关的!
Xms和Xmx参数为什么要设置相同的值
首先来看看Xms和Xmx的作用