1,jvm内存模型
jvm内存模型,主要有以下几个区域,堆(年老代,年轻代(edea区,s1区,s2区)),栈,本地方法栈,程序计数器(此区域不会发生oom),metaspace(直接内存)。
常用的参数:
-Xms:设置堆的最小空间大小
堆中 年轻代和年老代默认有个比 NewRatio=2 (默认是2:1)
年轻代中Eden和survior默认比例是8:1:1(SurviorRatio=8) jps查询进程 jmap -heap 进程编号 查看到改参数
-Xmx:设置堆的最大空间大小
-XX:NewSize 设置新生代最小空间
-XX:MaxNewSize 设置新生代最大空间
-XX:PermSize 设置永久代最小空间(1.8被元空间替换)
-XX:MetaspaceSize 设置元空间最小空间(1.8)
-XX:MaxPermSize 设置永久代最大空间(1.8被元空间替换)
-XX:MaxMetaspaceSize 设置元空间最大空间(1.8)
-Xss: 设置每个线程的栈的大小(64位默认是1M -XX:ThreadStackSize 默认是 0)