常用的基本配置参数

  • -Xms
    • 初始大小内存,默认为物理内存 1/64
    • 等价于 -XX:InitialHeapSize
  • -Xmx
    • 最大分配内存,默认为物理内存的 1/4
    • 等价于 -XX:MaxHeapSize
  • -Xss
    • 设置单个线程栈的大小,一般默认为 512-1024k
    • 等价于 -XX:ThreadStackSize
  • -Xmn
    • 设置年轻代的大小
    • 整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小,持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8
  • -XX:MetaspaceSize
    • 设置元空间大小(元空间的本质和永久代类似,都是对 JVM 规范中的方法区的实现,不过元空间与永久代之间最大区别在于,元空间并不在虚拟中,而是使用本地内存,因此默认情况下,元空间的大小仅受本地内存限制)
    • 元空间默认比较小,我们可以调大一点
  • -XX:+PrintGCDetails

    • 输出详细 GC 收集日志信息

  • -XX:SurvivorRatio
    • 设置新生代中 eden 和 S0/S1 空间比例
    • 默认 -XX:SurvivorRatio=8,Eden : S0 : S1 = 8 : 1 : 1
  • -XX:NewRatio
    • 配置年轻代和老年代在堆结构的占比
    • 默认 -XX:NewRatio=2 新生代占1,老年代占2,年轻代占整个堆的 1/3
  • -XX:MaxTenuringThreshold
    • 设置对象晋升年龄阈值

附:JVM学习目录

posted @ 2020-06-22 10:39  叮叮叮叮叮叮当  阅读(304)  评论(0编辑  收藏  举报