zoukankan      html  css  js  c++  java
  • java.lang.OutOfMemoryError: PermGen space PermGen space & java.lang.OutOfMemoryError: Java heap space Heap siz

    java.lang.OutOfMemoryError: PermGen space PermGen space  

      由-XX:PermSize  -XX:MaxPermSize 引起

    java.lang.OutOfMemoryError: Java heap space Heap siz

      由-Xms -Xmx 引起

    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"

    Windows下修改:catalina.bat

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

       echo Using CATALINA_BASE:   "%CATALINA_BASE%"

    -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

  • 相关阅读:
    安装Manjaro KDE 18.04
    nltk 词性解析
    Ubuntu安装Hadoop
    Ubuntu安装JDK
    Python3-Cookbook总结
    linux 条件变量
    多线程编程 ------ 互斥量
    线程相关笔记
    realloc ------ 扩大malloc得到的内存空间
    gcc 消除未使用变量的警告
  • 原文地址:https://www.cnblogs.com/yangy608/p/4273432.html
Copyright © 2011-2022 走看看