首页 > 其他 > 详细

JVM启动参数

时间:2021-05-29 09:21:36      阅读:19      评论:0      收藏:0      [点我收藏+]

堆内存

服务器JVM默认的初始化最大堆内存是物理内存的四分之一。比如服务器内存是16g,则默认的最大堆内存是4g
可以通过 JVM 启动参数-Xms(初始化堆大小)和-Xmx(最大堆大小)来指定初始化堆大小最大堆大小

年轻代大小

默认情况下,年轻代大小由参数NewRatio控制(服务器JVM默认配置为2)。设置-XX:NewRatio=3意味着年轻代和老年代之间的比率为1:3。换句话说,伊甸园空间和幸存者空间的总大小将是堆总大小的四分之一。
年轻代的最大大小将根据总堆的最大大小和NewRatio参数的值来计算。

幸存者空间

幸存者空间有2个,采用标志复制算法回收。服务器JVM默认配置大小为年轻一代的八分之一,也就是说Survivor1:Survivor2:eden =1:1:6

示例

下图是启动一个Java程序,设置JVM启动参数为:-Xms1g -Xmx1g
1.通过jinfo pid 打印Java系统属性和JVM命令行参数
2.再通过jstat 打印出GC信息
技术分享图片

参数说明

参数 说明 默认值
-XX:InitialHeapSize 初始化堆内存,通过-Xms 设置 系统内存1/64
-XX:MaxHeapSize 最大堆内存,通过-Xmx 设置 系统内存四分之一
-XX:OldSize 老年代内存大小 默认为堆内存的三分之二
-XX:NewSize 新生代内存大小 默认为堆内存的三分之一

参考链接

https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html#sthref30

JVM启动参数

原文:https://www.cnblogs.com/zhangxijun/p/14824255.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!