Java面试题——JVM(3)

荒凉一梦 提交于 2020-01-29 16:02:50

题目:工作中用过的JVM常用基本配置参数有哪些?

-Xms、-Xmx

-Xms(-XX:InitialHeapSize):设置堆的初始空间大小,默认为物理内存的1/64
-Xmx(-XX:MaxHeapSize ):设置堆的最大空间大小,默认为物理内存的1/4

-Xss

-Xss(-XX:ThreadStackSize ):设置单个线程栈的大小,一般默认为512k~1024k
windows下显示结果如下:

我使用的是mbp,显示出为1024.
在这里插入图片描述
windows为什么默认为0?代表用的是系统出厂默认值。(下图为官网描述信息)
在这里插入图片描述

-Xmn

-Xmn:设置年轻代大小

-XX:MetaspaceSize

设置元空间大小,使用本地内存,永久代在堆里面,默认情况下,元空间仅受本地内存的限制。

典型配置案例

-Xms128m -Xmx4096m -Xss1024k -XX:MetaspaceSize=512m -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:UseSerialGC

XX:+PrintGCDetails

打印垃圾回收具体信息
GC日志信息:

Full GC日志信息:
在这里插入图片描述
在这里插入图片描述

下面一些只需要在面试中会说,在实际不太需要设置

XX:SurvivorRadio

调整Eden:S0:S1的比例,默认为8:1:1,S0和S1相等,调整的是Eden和S之间的比例。
在这里插入图片描述

XX:NewRadio

配置年轻代与老年代在堆结构的占比
默认新生代占1,老年代占2,年轻代占整个堆的1/3.
-XX:NewRadio=4

XX:MaxTenuringThreshold

设置垃圾的最大年龄。
默认为15

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!