java.lang.OutOfMemoryError: PermGen space PermGen space & java.lang.OutOfMemoryError: Java heap spac

java.lang.OutOfMemoryError: PermGen space PermGen space  java

  由-XX:PermSize  -XX:MaxPermSize 引發性能

java.lang.OutOfMemoryError: Java heap space Heap sizspa

  由-Xms -Xmx 引發server

 

Liunx下修改:catalina.sh對象

  # OS specific support.  $var _must_ be set to either true or false.內存

  JAVA_OPTS="-server -Xms256m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=2048m"ci

Windows下修改:catalina.bat虛擬機

   set JAVA_OPTS=%JAVA_OPTS% -server -Xms256m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=2048m it

   echo Using CATALINA_BASE:   "%CATALINA_BASE%"io

 

 

-Xms:初始Heap大小,使用的最小內存,cpu性能高時此值應設的大一些。表示JVM Heap(堆內存)最小尺寸
-Xmx:java heap最大值,使用的最大內存。表示JVM Heap(堆內存)最大容許的尺寸

上面兩個值是分配JVM的最小和最大內存,取決於硬件物理內存的大小,建議均設爲物理內存的一半。
-XX:PermSize:設定內存的永久保存區域
-XX:MaxPermSize:設定最大內存的永久保存區域

PermSize和MaxPermSize指明虛擬機爲java永久生成對象(Permanate generation)如,class對象、方法對象這些可反射(reflective)對象分配內存限制,這些內存不包括在Heap(堆內存)區之中。

 

 

 

MaxPermSize缺省值和-server -client選項相關。-server選項下默認MaxPermSize爲64m-client選項下默認MaxPermSize爲32m

相關文章
相關標籤/搜索