文档章节

eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法

Dylan1009
 Dylan1009
发布于 2017/08/08 09:23
字数 411
阅读 14
收藏 0

一、在window下eclipse里面Server挂的是tomcat6,一开始还是以为,tomcat配置的问题,后面发现,配置了tomcat里面的catalina.bat文件,加入 
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=108m -XX:MaxPermSize=512m 
,eclipse跑起来还是报Java.lang.OutOfMemoryError: PermGen space。 
后面在网上找了资料,要在eclipse里面配置才可以。 
点击“Run” – “Run Configurations…”,选中Tomcat Server,进入Arguments分页,在VM arguments中加入提升初始分配空间的参数 
第一步: 
这里写图片描述

第二步:加入参数 
-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256M 
这里写图片描述

1、PermGen space简介

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。

说说为什么会内存益出: 
(1)这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同。 
(2) GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

如果你的WEB APP下都用了大量的第三方jar,其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。 
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以减少jar 文档重复占用内存

二、在Linux下部署的时候要修改catalina.sh 
JAVA_OPTS=”$JAVA_OPTS -server -Xms1536m -Xmx1536m -XX:PermSize=256m -XX:MaxPermSize=512m”

© 著作权归作者所有

共有 人打赏支持
Dylan1009
粉丝 5
博文 194
码字总数 130862
作品 0
广州
程序员
私信 提问
java.lang.OutOfMemoryError处理错误

java.lang.OutOfMemoryError异常解决方法 原因: 常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能...

今日竹石
2014/03/18
0
0
Android OutOfMemoryError异常解决方法

java.lang.OutOfMemoryError异常解决方法 原因: 常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能...

SRain215
2016/03/15
148
0
java web中的Exception in thread ContainerBackgroundProcessor[StandardEngine[Catalina]]

java web中的Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: PermGen space 最近老是在运行eclipse的时候,出现这样的问题: ......

lyon007
2016/01/29
0
0
OutOfMemoryError系列(3): Permgen space

说明: Permgen(永久代) 属于 JDK1.7 及之前版本的概念; 为了适应Java程序的发展, JDK8以后的版本采用限制更少的 MetaSpace 来代替, 详情请参考下一篇文章: OutOfMemoryError系列(4): Metas...

renfufei
2017/09/15
0
0
内存泄露java.lang.OutOfMemoryError: PermGen space解决方法

内存泄露java.lang.OutOfMemoryError: PermGen space解决办法 今天访问web服务器,点击几个网页,tomcat服务就瘫痪了,通过查看日志,发现java.lang.OutOfMemoryError: PermGen space错误,如...

lcdmusic
2015/01/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

pg_lightool基于basebackup的单表恢复和块恢复

开源软件pg_lightool,实现了基于wal日志的块恢复。详情参见博客:https://my.oschina.net/lcc1990/blog/1931485。由于wal日志中FPW的不确定性,它不能作为一个数据库恢复的解决方案。目前对...

movead
17分钟前
2
0
对比剖析Swarm Kubernetes Marathon编排引擎

Docker Native Orchestration 基本结构 Docker Engine 1.12 集成了原生的编排引擎,用以替换了之前独立的Docker Swarm项目。Docker原生集群(Swarm)同时包括了(Docker Engine \/ Daemons)...

Linux就该这么学
18分钟前
1
0
Mybatis的结果集处理

此时我们已经可以把整段的SQL语句取出,但还并没有在数据库中去执行,我们可以先来分析一下配置文件中SQL语句执行后的结果集是如何处理的。 Mybatis会将结果集按照映射配置文件中定义的映射规...

算法之名
31分钟前
16
0
Spring Boot(Spring的自动整合框架)

Spring Boot 是一套基于Spring框架的微服务框架,由于Spring是一个轻量级的企业开发框架,主要功能就是用于整合和管理其他框架,想法是将平时主流使用到的框架的整合配置预先写好,然后通过简...

花漾年华
34分钟前
2
0
Windows下条件变量的实现

条件变量是什么? 是一种同步对象。 条件变量有什么用? 用于复杂的、多线程的、多核的程序中,实现多个线程间同步任务。 条件变量与其它同步对象的区别? 与事件、互斥锁、segment等同步对象...

shzwork
35分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部