zoukankan      html  css  js  c++  java
  • tomcat内存溢出

    最近在tomcat 上部署工程的时候,发现工程一直起不来,查看日志发现前端送给后台的数据是正常的,后天也返回了数据给前端。

    并且前端返回了一个PermGen space 内存不足的错误,然后才发现是tomcat的内存空间不足。

     

    tomcat 的内存泄露主要存在三种形式:

    1.java.lang.OutOfMemoryError:Java heap space  ---JVM Heap(堆)溢出
    虚拟机在启动时会自动设置堆得大小,初始化的值时物理内存的1/64
     
    2.java.lang.OutOfMemoryError: PermGen space 
    PermGen space  指内存的永久保存区域。这块内存主要是存放class 和 meta信息的,Class在被Load的时候放入到PermGen space 区域,它和存放instance的Heap区域不同,sun的GC不会再主程序运行期间对PermGen space 进行清理,所以如果你的APP会载入很多Class的话,就可能会出现PermGen space 溢出的错误。
     
    3.java.lang.StackOverflowError --栈溢出
     
    栈溢出表示函数调用的层数过多
     
    JAVA内存JAVA_OPTS的参数设置说明
    JAVA_OPTS="-server -Xms2018m -Xmx2048m -Xss521k"
    -server:一定要作为第一个参数,在多个CPU时性能最佳
    -Xms:初始Heap大小 使用的最小内存
    -Xmx:heap 使用的最大内存
     
    -XX:PermSize:设定内存的永久保存区域
    -XX:MaxPermSize:设定最大内存的永久保存区域
    -Xss 15120 这使得jBoss每增加一个线程就会消耗15M内存
     
     
    修改时在tomcat的bin下的catalina.sh中的cygwin=false前面加入
    JAVA_OPTS=''-server -Xms512m -Xmx1024m -XX:persize=512m -XX:MaxPermSize=1024m"
     
     
     
  • 相关阅读:
    226. Invert Binary Tree
    404. Sum of Left Leaves
    112. Path Sum (判断路径和是否等于某值)
    5 用两个栈实现队列
    111. Minimum Depth of Binary Tree
    110. Balanced Binary Tree
    4 重建二叉树
    108. Convert Sorted Array to Binary Search Tree
    235. Lowest Common Ancestor of a Binary Search Tree(LCA最低公共祖先)
    3 从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/LLeiFeng/p/4020651.html
Copyright © 2011-2022 走看看