Java面试题——JVM(3)

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

文章目录

  • 题目:工作中用过的JVM常用基本配置参数有哪些?
    • -Xms、-Xmx
    • -Xss
    • -Xmn
    • -XX:MetaspaceSize
    • 典型配置案例
    • XX:+PrintGCDetails
  • 下面一些只需要在面试中会说,在实际不太需要设置
    • XX:SurvivorRadio
    • XX:NewRadio
    • XX:MaxTenuringThreshold

-Xms、-Xmx

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

-Xss

-Xss(-XX:ThreadStackSize ):设置单个线程栈的大小,一般默认为512k~1024k
windows下显示结果如下:
Java面试题——JVM(3)_第1张图片
我使用的是mbp,显示出为1024.
在这里插入图片描述
windows为什么默认为0?代表用的是系统出厂默认值。(下图为官网描述信息)
Java面试题——JVM(3)_第2张图片

-Xmn

-Xmn:设置年轻代大小

-XX:MetaspaceSize

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

典型配置案例

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

XX:+PrintGCDetails

打印垃圾回收具体信息
GC日志信息:
Java面试题——JVM(3)_第3张图片
Full GC日志信息:
Java面试题——JVM(3)_第4张图片
Java面试题——JVM(3)_第5张图片

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

XX:SurvivorRadio

调整Eden:S0:S1的比例,默认为8:1:1,S0和S1相等,调整的是Eden和S之间的比例。
Java面试题——JVM(3)_第6张图片

XX:NewRadio

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

XX:MaxTenuringThreshold

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

Java面试题——JVM常见面试题目录

你可能感兴趣的:(面试-JVM,java,jvm)