通过我前面的文章可以得知JVM调优就是为了减少full GC的产生次数,所以为了不使其产生就需要根据业务场景合理的设置堆内存各个区域的大小,下面我来说一下怎么设置堆内存各个区域的大小。
操作
找到eclipse.ini文件,如下图:
用Notepat++或者记事本打开eclipse.ini文件,文件内容如下图:
其中:-Xms:是最小堆内存大小,也是初始堆内存大小,因为堆内存大小可以根据使用情况进行扩容,所以初始值最小,随着扩容慢慢变大。
-Xmx:是最大堆内存大小,随着堆内存的使用率越来越高,堆内存的大小会趋向于最大内存大小扩容。
-Xmn128m(图上未设置该参数):是年轻代大小。
-XX:SurvivorRatio=3(图上未设置该参数):该参数是年轻代Eden区与Survivor区其中一个分区的比例(s0区或者s1区)的比例,如果将参数设置为3,那么会将整个堆内存分为5份,Eden区占3份,Survivoer区中s0与s1各占1份。
完整参数详解
-Xms1024m -Xmx1024m -Xmn256m