美文网首页程序园程序员
java内存分配进行JVM调优

java内存分配进行JVM调优

作者: 啊灿 | 来源:发表于2019-04-28 15:04 被阅读27次

    本文基础:

    1、已经理解JVM内存结构,对堆内存结构有清晰的认识(Eden,s0,s1,OldGen)

    2、理解通常情况下堆内存分配的使用对象(new 出来的对象,注意区分引用是存放在方法区)


    理解几个常用参数:(基础设置:-XX:PrintGCDetails)

    1、设置堆内存大小:-Xmx(最大堆内存) -Xms(初始对内存) -Xmn(新生代大小) 。注意:一般最大堆内存和初始堆内存大小设置相同,原因避免频繁的Minor GC

    2、设置Eden和s0,s1的比例:-XX:SurvivorRatio=8,表示8:1:1(可以根据项目需要进行设置)

    3、大对象直接进入老年代的设置:-XX:PretenureSizeThreshold(单位字节)

    比如:-XX:PretenureSizeThreshold=3145728(表示3M)

    4、设置进入老年代的年龄:-XX:MaxTenuringThreshold(年龄的增长原则:每存活过一次Minor GC,则加1)

    5、进入老年代的另一个原则:Survivor空间相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄对象的直接进入老年代,无需等到MaxTenuringThreshold设置的大小。

    相关文章

      网友评论

        本文标题:java内存分配进行JVM调优

        本文链接:https://www.haomeiwen.com/subject/xsidnqtx.html