zoukankan      html  css  js  c++  java
  • Tomcat:Caused by: java.lang.OutOfMemoryError: PermGen space

    这个应该遇到的人比较多,这里我也遇到了,网上查了一下,看到下面的一段话,感觉不错,就放在这里。引用自:

    http://hi.baidu.com/zoomx/blog/item/77d93ca819f0a0b0cb130c8d.html 

    项目中遇到了系统停止响应的问题,查看日志发现

    Tomcat报告Caused by: java.lang.OutOfMemoryError: PermGen space异常,开始以为是程序内存泄漏导致的内存溢出,网上查了一下,原来是另有原因,不过确实是内存溢出

    PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
    这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen
    space中,
    它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运
    行期对
    PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen
    space错误,
    这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大
    量的第三方jar, 其大小
    超过了jvm默认的大小(4M)那么就会产生此错误信息了。
    解决方法: 手动设置MaxPermSize大小

    设置参数:-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

    Tomcat中,修改TOMCAT_HOME/bin/catalina.sh(linux系统下start.sh会调用它来启动tomcat,windows下调用catalina.bat,修改类似)

    在文件头部注释后加入
    JAVA_OPTS='-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m'

    如果是MyEclipse下集成Tomcat服务器的话,需要在这里设置:



    如果tomcat运行多个系统,将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少
    jar 文档重复占用内存的目的。

     

     

  • 相关阅读:
    NYIST 46 最少乘法次数
    OpenSSL命令---rsa
    Javah生成JNI头文件
    Stbdroid之ShapeDrawable
    Android之判断设备网络连接状态,并判断连接方式
    [置顶] 程序员必知(二):位图(bitmap)
    中断子系统8_软中断入口处理
    二叉搜索树的后续遍历序列
    整理生命
    sicily9162. RAZLIKA
  • 原文地址:https://www.cnblogs.com/fhtwins/p/3245084.html
Copyright © 2011-2022 走看看