1. 程式人生 > >Jdk8記憶體引數解析與修改(新的引數)

Jdk8記憶體引數解析與修改(新的引數)

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"