Jdk8記憶體引數解析與修改(新的引數)
阿新 • • 發佈:2019-01-05
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
修改JDK記憶體
linux下:在tomcat的bin目錄下編輯catalina.sh
cygwin=false上面加入
JAVA_OPTS="-Xms1024m -Xmx2048m -Xss1024K -XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize1024m"