JVM底层原理之栈内存Xss讲解

一、JVM常用参数

-Xms                                       初始堆内存大小,默认物理内存64/1
                                                -Xms = -XX:InitialHeapSize
-Xmx                                         最大堆内存,默认物理内存4/1
                                                 -Xmx = -XX:MaxHeapSize
-Xss                                           栈内存大小
                                                 设置单个线程栈大小,一般默认512~1024kb。
                                                 单个线程栈大小跟操作系统和JDK版本都有关系
                                                 -Xss = -XX:ThreadStackSize
-Xmn                                        年轻代大小
-XX:MetaspaceSize                     元空间大小
                                                    元空间本质跟永久代类似,都是对JVM规范中方法区的实现。
                                                    不过元空间与永久代最大的区别在于:元空间并不在虚拟机中,而是使用本机内存。
                                                    因此,元空间大小仅受本地内存限制。
-XX:+PrintGCDetails                   打印GC详细日志信息
-XX:SurvivorRatio                       幸存者比例设置
-XX:NewRatio                             新生代比例设置
-XX:MaxTenuringThreshold        进入老年代阈值设置

2、查看-Xss初始大小


(1)-XX:ThreadStackSize=0含义
-XX:ThreadStackSize=0不是说虚拟机栈大小为0,0表示为jvm默认值(这个虚拟机栈默认值是根据操作系统和JDK版本来的)

(2)JDK个版本-Xss默认大小 --待补充
【1】JDK8默认-Xss大小为:

windows操作系统:

除windows操作系统外:

【2】JDK9默认-Xss大小为:

【3】JDK10默认-Xss大小为:

【4】JDK11默认-Xss大小为:

【5】JDK12默认-Xss大小为:

【6】Java JVM命令行参数如何在oracle官网查找,例如:查找-Xss参数

 

你可能感兴趣的:(工具使用,java)