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,更新到最新的hibernate3.2 3、
这里以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大小修改D:\Program Files\apache-tomcat-5.5.28_OMS_QA\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"
三、实例,以下给出1G内存环境下java jvm 的参数设置参考: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
1.若Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误,我们可以通过一下方法进行处理:首先, 打开Eclipse软件,选择菜单栏run,在二级菜单中选择 Debug Configurations,然后:在弹出的窗口中选择(x)=arguments选项卡,VM arguments中输入所需要的内存最大占用量,比如输入--Xms800m -Xmx800m即可。
2.如果 heap 内存不足出现 java.lang.OutOfMemoryError: Java heap space 时,可以通过 -Xmx512m 指定最大 heap 内存来解决这样的问题。
- 浏览: 629235 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (609)
- java (139)
- 数据库 (107)
- 微信 (23)
- IT生活 (5)
- web前端 (74)
- SSH (11)
- 设计模式 (12)
- 重要资料 (11)
- 其他 (15)
- java技巧 (23)
- 服务器 (9)
- 2D/GUI (3)
- JAVA3D (2)
- ANT (5)
- Apache项目 (19)
- 数据类型 (10)
- 报表 (3)
- Collections (6)
- SQL/JDBC (15)
- 开发类 (6)
- EJB (6)
- Email (6)
- 文件读写 (2)
- 游戏 (0)
- Flex (2)
- Generic (2)
- HIbernate (12)
- I18N (5)
- Java EE (9)
- java ME (4)
- JDK 6 (8)
- JNDI/LDAP (5)
- JSP (7)
- JSTL (2)
- 正则表达式 (2)
- 安全 (2)
- Struts2 (12)
- Spring (4)
- Web服务 (10)
- Xml (1)
- JavaScript (30)
- AJAX (7)
- 验证 (4)
- 上传下载 (1)
- office办公软件 (1)
- Android (2)
- IOS (0)
- Dubbo (3)
- memcached/redis (1)
- 小程序 (1)
- 微信公众号 (0)
最新评论
-
wf_wangfeng:
怎么我用第一种方法不行呢 alert(document.rea ...
当jsp页面完全加载完成后执行一个js函数 -
Lori_Liu:
有帮助,至少可以解决了目前所遇到的问题!谢谢..
当jsp页面完全加载完成后执行一个js函数 -
starbhhc:
String actionMessage = new Stri ...
Java读取txt文件乱码 -
starbhhc:
Sev7en_jun 写道GOOD
客气,互相交流。。
javaeye论坛规则小测验(答案)--star -
Sev7en_jun:
GOOD
javaeye论坛规则小测验(答案)--star
-XX:PermSize=128m
-XX:MaxPermSize=128m
3.有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm参数 -XX:MaxPermSize=256m
来配置这部分堆内存的大小。
在eclipse中如何配置tomcat的内存大小呢?
首先需要双击tomcat server,如下图所示:
双击上图后会出现,tomcat配置的界面:
然后再点击上图的,红色矩形框的链接,会弹出tomcat参数配置的节面,要选择Arguments参数框:
如上图在VM arguments文本框内设置-Xms1024m -Xmx2024m -XX:MaxPermSize=256m
的值即可, 当然此处还可以添加其他jvm参数,比如最大内存,最小内存等
错误:Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
错误提示就是我们限定了部署的时间导致的错误。
修改 workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml文件。
把其中的start-timeout="45" 改为 start-timeout="100" 或者更长,根据不同同学的工程大小来设置。
把其中的start-timeout="45" 改为 start-timeout="100" 或者更长,根据不同同学的工程大小来设置。
最后重启eclipse就可以了
或者在界面修改
发表评论
-
maven项目第一行报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.mave
2020-04-09 01:23 442maven项目第一行报错:org.apache.maven.a ... -
删除项目中的所有.svn文件夹(或CVS文件夹)
2019-06-06 19:19 393当你的项目用SVN管理时,在项目的每个文件夹中会多一个.svn ... -
eclipse下生成Java类图和时序图,生成UML图
2016-12-30 02:28 1995最近老板让我做类图和时序图,提苦恼的,完全不会,就从网上整理 ... -
eclipse使用ModelGoon插件自动生成java类的UML图
2016-12-30 02:23 11771、ModelGoon介绍 ModelGo ... -
linux下的tomcat jvm内存
2016-11-30 23:19 538常见的内存溢出有以下两种: Java.lang.OutOf ... -
FTP实现客户端与服务器文件传输(二)
2016-08-06 01:22 964/*以sun开头的class不是java里面的标准类,而是 ... -
java实现文件转换成二进制存储与取出
2016-08-06 01:21 2624一、功能描述: 将文件转成二进制数据放入数据库中,需要的 ... -
Resource specification not allowed here for source level below 1.7
2016-08-05 11:14 1067现象:tomcat能正常启动,但打开页面时,出现上面的错误 ... -
使用commons.net FTP 和sun.net.ftp.FtpClient 多种方式上传下载(包括批量)删除功能(一)
2016-08-04 10:38 632使用commons.net FTP 上传下载删除功能 ... -
第十一节 CAS服务端RememberMe
2016-06-07 11:03 1114关于启用RememberMe功能所需做的修改描述 ... -
第七节:CAS4.0.0 以上服务端配置多个数据源
2016-06-03 14:50 10381.首先打开deployerConfigContext.x ... -
第六节:CAS服务端自定义数据库认证用户
2016-06-03 11:46 2277/** * @see --------------- ... -
第四节:将CAS https的认证方式改为http
2016-06-01 08:49 1635一、CAS Server端的修改 1、找到cas\W ... -
java 读取html过滤标签
2016-05-27 16:19 935public static void main(Strin ... -
获取cookie
2016-05-26 16:07 761获取cookie -
spring同时集成redis和mongodb时遇到多个资源文件加载的问题
2016-05-14 15:40 722两天平台中集成redis和mongodb遇到一个问题 单独 ... -
Windows上安装OpenSSL和生成证书
2016-05-10 15:52 22621,先下载OpenSSL http://www.slpr ... -
4.ubuntu14.04 安装mongodb笔记
2016-05-06 08:52 6091、使用系统自动获取安装。 1)获取更新 s ... -
3.nodejs nodejs的mysql模块
2016-04-12 22:20 505安装nodejs的mysql模块首先要选定一个数据库,我选择 ... -
第二节:cas处理中文乱码
2016-04-07 11:38 1205cas service配置参考第一节。 casServi ...
相关推荐
Caused by: java.lang.OutOfMemoryError: PermGen space解决方案, avax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space at org.apache.jasper.servlet.JspServlet.service(JspServlet.java...
java.lang.OutOfMemoryError: PermGen space 解决方案
java.lang.OutOfMemoryError: PermGen space及其解决方法,解决项目太大tomcat内存溢出
搜集整理关于java错误处理:java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space 资料整理
tomcat内存溢出解决办法,错误信息:java.lang.OutOfMemoryError:PermGen space 参考该文档可快速解决内存溢出的问题,服务器:tomcat
报错 java.lang.OutOfMemoryError: PermGen space 报错 java.lang.OutOfMemoryError: Java heap 启动报错java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler JAVA_OPTS="-server -Xms800m ...
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space 解决方法
Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError PermGen space的解决方案
java解决nested exception is java.lang.OutOfMemoryError Java heap space 解决OOM
Tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError),内附解决方案!
Tomcat给我的java.lang.OutOfMemoryError: ... PermGenTomcat给我的java.lang.OutOfMemoryError: PermGenTomcat给我的java.lang.OutOfMemoryError: PermGenTomcat给我的java.lang.OutOfMemoryError: PermGen
NULL 博文链接:https://geyubin.iteye.com/blog/779330
Myeclipse下java.lang.OutOfMemoryError Java heap space的解决
记录java.lang.OutOfMemoryError:Java heap space的情况 文章内容: 一.问题描述+原因分析+解决方案 二.JVM调优说明 三.Tomcat添加到jvisualvm监控
解决OutOfMemoryError: PermGen space,过程是痛苦的,结果是舒畅的
java.lang.OutOfMemoryError: Java heap space 解决方法
问题分析:java.lang.OutOfMemoryError unable to create new native thread - ado1986 - CSDN1
java.lang.OutOfMemoryError处理错误