zoukankan      html  css  js  c++  java
  • java.lang.OutOfMemoryError: Java heap space 和 java.lang.OutOfMemoryError: PermGen space 解决方法

    1、java.lang.OutOfMemoryError: Java heap space,可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置,Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

    catalina.bat 修改

    在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:

    set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m

    catalina.sh 修改

    在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:

    JAVA_OPTS="$JAVA_OPTS -server -Xms800m -Xmx800m -XX:MaxNewSize=256m"

    2、java.lang.OutOfMemoryError: PermGen space

    如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

    catalina.bat 修改

    在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
    set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m

    catalina.sh 修改 下为:
    JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"

    3、或者

    在catalina.bat的第一行增加:
    set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

    在catalina.sh的第一行增加:
    JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

     4、或者在eclipse tomcat配置下,jdk项的optional java vm arguments 中加入

    -Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

  • 相关阅读:
    Java集合的Stack、Queue、Map的遍历
    LinkedHashMap的实现原理
    HashSet的实现原理
    HashMap的实现原理
    leetcode526
    leetcode406
    leetcode413
    leetcode513
    leetcode338
    leetcode419
  • 原文地址:https://www.cnblogs.com/xiongjinpeng/p/2995565.html
Copyright © 2011-2022 走看看