JVM启动参数

Posted mirai_42

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM启动参数相关的知识,希望对你有一定的参考价值。

堆内存

服务器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启动参数的主要内容,如果未能解决你的问题,请参考以下文章

java启动参数二

java 简单的代码片段,展示如何将javaagent附加到运行JVM进程

如何设置jvm启动参数

solr admin界面的监控

IDEA2021配置JVM启动参数

IDEA2021配置JVM启动参数