`
zwdsmileface
  • 浏览: 152719 次
社区版块
存档分类
最新评论

tomact java.lang.OutOfMemoryError: PermGen space

阅读更多
最近,在做项目调试发现一个问题特此记录:
SEVERE: Unexpected death of background thread ContainerBackgroundProcessor[StandardEngine[Catalina]]
java.lang.OutOfMemoryError: PermGen space
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2595)
	at java.lang.Class.getConstructor0(Class.java:2895)
	at java.lang.Class.newInstance(Class.java:354)


PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 2、在tomcat中redeploy时出现outofmemory的错误. 可以有以下几个方面的原因:
1,使用了proxool,因为proxool内部包含了一个老版本的cglib.
2, log4j,最好不用,只用common-logging
3, 老版本的cglib,快点更新到最新版。
4,更新到最新的hibernate版本。
这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。
一、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大小修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。
二、java.lang.OutOfMemoryError: Java heap space Heap size 设置 JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
解决方法:手动设置Heap size 修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m"

三、实例:
if [ $have_tty -eq 1 ]; then
  JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=512m"
  echo "Using CATALINA_BASE:   $CATALINA_BASE"
  echo "Using CATALINA_HOME:   $CATALINA_HOME"
  echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
  if [ "$1" = "debug" ] ; then
    echo "Using JAVA_HOME:       $JAVA_HOME"
  else
    echo "Using JRE_HOME:        $JRE_HOME"
  fi
  echo "Using CLASSPATH:       $CLASSPATH"
  if [ ! -z "$CATALINA_PID" ]; then
    echo "Using CATALINA_PID:    $CATALINA_PID"
  fi
fi
1
1
分享到:
评论

相关推荐

    Tomact7.zip

    Tomact7.zip

    基于Javaweb的计算机等级考试报名系统源码+数据库.rar

    1.系统分为 学生,系统...8.开发工具:MyEclipse,tomact,MySql,360浏览器。 9.开发环境:windows。 10.所用技术:java, js, jsp, servlet,ajax; 11.系统首页:http://localhost:8080/CSESystem/common/login.jsp

    基于Java web的计算机等级考试报名系统设计与实现(源码+数据库).zip

    8.开发工具:MyEclipse,tomact,MySql,360浏览器。 9.开发环境:windows。 10.所用技术:java, js, jsp, servlet,ajax; 11.系统首页:http://localhost:8080/CSESystem/common/login.jsp 源码亲测有效

    apache-tomact-6..0.44.zip

    很稳定的tomact,适合开发和学习,稳定性好,对Java web开发很有帮助,用了一段时间,很不错。

    tomact6.tar

    tomat6.0 mac平台上使用 tomat6.0 mac平台上使用

    Java酒店管理系统

    Jsp酒店管理系统/Java酒店管理系统 本系统是WEB模式的宾馆酒店管理系统(Jsp酒店管理系统/Java酒店管理系统) 运行环境:Tomact+JDK1.5 编程模式:Ajax+JSP+JavaBean+JavaServlet 后台数据库:MS-Access/MSSQL 系统...

    apache-tomcat-9.0.55

    tomcat9.0.55的压缩包,适用于所有java开发人员和服务器人员

    tomcat与java.web开发技术详解.part06

    tomcat与java.web开发技术详解

    apache-tomact-7.0.79

    apache-tomact-7.0.79

    在线招应聘管理系统jsp

    运行环境:Tomact+JDK 编程模式:JSP+JavaBean+JavaServlet 后台数据库:MS-Access\MySql\Mysql\SQLServer\Oracle 系统主要完成的功能如下: .用户管理 .招聘信息管理 .应聘信息管理 .留言管理 .在线注册 ...

    基于JSP的博客管理系统

    编程模式:JSP+JavaBean+JavaServlet 后台数据库:MS-Access\MySql\SQLServer\Oracle 系统主要完成的功能如下: 游客 .首页 .所有博主 .所有博文 .所有博图 .游客留言 .系统帮助 .会员注册 会员 .首页 .我的...

    企业信息统计管理系统

    运行环境:Tomact+JDK 编程模式:JSP+JavaBean+JavaServlet 后台数据库:MS-Access\MySql\oracle\SQLServer 系统主要完成的功能如下: .用户管理 .个人资料 .数据管理 .数据统计 统计: 按地区 按年份 按产品 ...

    办公自动化系统OA(jsp java)

    编程模式:JSP+JavaBean+JavaServlet 后台数据库:MS-Access\MySql\SQLServer\Oracle 系统主要功能简介: .信息中心 .内部电子邮件 .个人事务管理 事务安排 通讯录 工作计划 日程安排 .工作流 1.系统内置四类...

    apache-tomcat-8.5.64-windows-x64.rar

    apache-tomcat-8.5.64-windows-x64.rar

    Apache+tomact7集群

    Apache+tomact7集群 负载均衡 tomact集群.所有包以及配制文件都在里面,解压就可以用(前提是你机子上装有jdk1.6以上)

    基于JSPde1新闻发布系统

    运行环境:Tomact+JDK 编程模式:JSP+JavaBean+JavaServlet 后台数据库:MS-Access\MySql\SQLServer\Oracle 系统主要完成的功能如下: 管理员(后台) .系统管理:用户管理(增、修、删、查) .新闻管理:发布(内置网页...

    进销存管理系统(jsp)续

    运行环境:Tomact+JDK 编程模式:JSP+JavaBean+JavaServlet 后台数据库:SQLServer MYSQL MS-Access 系统主要完成的功能如下: .基础信息:职工管理(增、修、删、查) .厂商管理(增、修、删、查) .商品目录管理...

    高校学生综合素质管理系统

    运行环境:Tomact+JDK 编程模式:JSP+JavaBean+JavaServlet 后台数据库:MS-Access\MySql\SQLServer\Oracle 系统特点: 1.基于免费环境开发 JDK+Tomcat 2.客户端基于浏览器访问,产品模块化设计 3.代码全开放,易于二...

    Linux服务环境搭建相关软件(JDK、Nginx、Tomact)

    本资源安装包包含:JDK、Nginx、Tomact。 资源安装步骤配套教程:https://blog.csdn.net/qi_ming88/article/details/132274815 Java线上Linux环境部署的全过程,都是个人真实服务器一步一步配置的,只要安装步骤基本...

    基于JSP的在线竞拍系统

    运行环境:Tomact+JDK 编程模式:JSP+JavaBean+JavaServlet 后台数据库:SQLServer\MS-Access\MySql\Oracle 系统主要完成的功能如下: .会员注册 .商品查询 .在线竞拍 .个人资料 .商品上传 .交易管理 .用户-会员...

Global site tag (gtag.js) - Google Analytics