jdk8内存参数解析与修改(新的参数)
2016年06月27日 11:17:18
阅读数:17960
JDK内存
jdk内存实际是jvm内存,jvm有一个运行时数据区,其实就是对这一部分的大小分配。
运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)
- Xss:每个线程的stack大小(栈)
- Xmx:JAVA HEAP的最大值、默认为物理内存的1/4
- Xms:JAVA HEAP的初始值,server端最好Xms与Xmx一样
- Xmn:JAVA HEAP young区的大小
- XX:PermSize:设定内存的永久保存区域
- XX:MaxPermSize:设定最大内存的永久保存区域
在JDK1.8中,取消了PermGen,取而代之的是Metaspace,所以PermSize和MaxPermSize参数失效,取而代之的是
-XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m
- 1
修改JDK内存
linux下:在tomcat的bin目录下编辑catalina.sh
cygwin=false上面加入
JAVA_OPTS="-Xms1024m -Xmx2048m -Xss1024K -XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize1024m"