首页建站经验 Jspxcms内存溢出怎么办

Jspxcms内存溢出怎么办

java的内存有不同类型,不同类型的内存溢出,处理方法不同,一定要看清是那种异常。通常会碰到内存溢出异常有下面两种:java.lang.OutOfMemoryError: PermGen spacejava.lang.OutOf…

java的内存有不同类型,不同类型的内存溢出,处理方法不同,一定要看清是那种异常。通常会碰到内存溢出异常有下面两种:

java.lang.OutOfMemoryError: PermGen space

java.lang.OutOfMemoryError: Java heap space

PermGen space

PermGen space内存溢出最常见。全称是Permanent Generation space,是指内存的永久保存区域。JDK8废除了PermGen space,可以避免这种类型的内存溢出,也无需设置该项。碰到这种内存溢出建议升级到jdk8,或者设置Perm内存。

Jspxcms的内存设置建议值:

-XX:PermSize=128M:Perm内存最小值。

-XX:MaxPermSize=512M:Perm内存最大值。

Java heap space

Java heap space是堆内存溢出。碰到这种内存溢出,则需要加大堆内存。

Jspxcms的内存设置建议值:

-Xms512M:Heap内存最小值。

-Xmx1024M:Heap内存最大值。

Java内存类型

java内存的类型分为:堆(Heap)和非堆(Non-heap)内存。

堆(Heap)内存。用于存放运行时产生的数据,如运行时创建的对象、数组等数据。堆内存快被占满时,会启动垃圾回收,释放内存空间。如果没有设置Heap内存,默认是物理内存的1/4。现在内存条容量越来越大,堆内存溢出的情况相对较少。堆内存溢出时,出现的错误信息是:java.lang.OutOfMemoryError: Java heap space。

非堆(Non-heap)内存。就是PermGen。用于存放类的空间。默认是物理内存的1/64。java设计之初,各种程序规模相对较小,java类不多,并且运行时类的数量是固定的,所以该空间默认非常小,并且不进行垃圾回收。随着java的急剧发展,各种类库逐渐增多,java程序也变得越来越庞大,类的数量急速膨胀,默认非堆内存的空间越来越不够用。特别是反射机制与动态代理技术的广泛应用,程序可以在运行时创建类,使得PermGen内存溢出变得更为常见。非堆内存溢出时,出现的错误信息是:

java.lang.OutOfMemoryError: PermGen space。

Java的设计者们也看到了这个问题,在jdk8中废除了PermGen,并且可以对存放类信息的空间进行垃圾回收。所以碰到java.lang.OutOfMemoryError: PermGen space异常,最好的办法就是升级到jdk8。

内存设置

不同软件、不同版本、不同情况下的设置方法各有不同。如eclipse的内存设置在eclipse目录下的eclipse.ini文件。

tomcat6 解压版 windows平台

修改TOMCAT_HOME/bin/catalina.bat,在echo "Using CATALINA_BASE: $CATALINA_BASE"上面加入以下行:

set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m

Jspxcms网站内容管理系统

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/19188.html
上一篇WordPress 后台回复评论添加快捷键提交
下一篇 YXcmsApp建站系统安装指南
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部