"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space

时间:2022-04-03 15:46:56
Exception in thread ""http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
Exception in thread "Druid-ConnectionPool-Destory" java.lang.OutOfMemoryError: PermGen space
        at java.util.IdentityHashMap.keySet(IdentityHashMap.java:935)
        at com.alibaba.druid.pool.DruidDataSource.removeAbandoned(DruidDataSource.java:1312)
        at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:1294)
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: PermGen space

我用eclipse启用tomcat7就报这个错。要是直接在tomcat7中启动,就能运行项目中的内容。
我想用eclipse启用,方便修改代码后的运行。
请问下要怎么解决呢……

9 个解决方案

#1


看看eclipse里面设置的JDK内存参数。试着稍微调一调看看呢?

#2


先在eclipse安装目录中将eclipse的启动参数调大一些

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms128m
-Xmx1024m


然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space

#3


楼上,赞,是不是myeclipse启动tomcat的时候会覆盖tomcat的启动参数?

#4


谢谢“magi1201”

#5


谢谢大神的内存溢出配置

#6


此方法解决了我的问题,太神奇了

#7


引用 2 楼 magi1201 的回复:
先在eclipse安装目录中将eclipse的启动参数调大一些

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms128m
-Xmx1024m


然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space


引用 2 楼 magi1201 的回复:
先在eclipse安装目录中将eclipse的启动参数调大一些

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms128m
-Xmx1024m


然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space


除了以上的原因,还有可能是下面的原因:
程序进入了死循环!比如一个请求调取了一个servlet,结果这个servlet在转发地址的时候又转发到自己的servlet地址,就会出现这种情况

#8


project->clean一下吧。。。我每次都是这样弄的

#9


引用 2 楼 magi1201 的回复:
先在eclipse安装目录中将eclipse的启动参数调大一些

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms128m
-Xmx1024m


然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space

厉害,必须点个赞

#1


看看eclipse里面设置的JDK内存参数。试着稍微调一调看看呢?

#2


先在eclipse安装目录中将eclipse的启动参数调大一些

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms128m
-Xmx1024m


然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space

#3


楼上,赞,是不是myeclipse启动tomcat的时候会覆盖tomcat的启动参数?

#4


谢谢“magi1201”

#5


谢谢大神的内存溢出配置

#6


此方法解决了我的问题,太神奇了

#7


引用 2 楼 magi1201 的回复:
先在eclipse安装目录中将eclipse的启动参数调大一些

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms128m
-Xmx1024m


然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space


引用 2 楼 magi1201 的回复:
先在eclipse安装目录中将eclipse的启动参数调大一些

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms128m
-Xmx1024m


然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space


除了以上的原因,还有可能是下面的原因:
程序进入了死循环!比如一个请求调取了一个servlet,结果这个servlet在转发地址的时候又转发到自己的servlet地址,就会出现这种情况

#8


project->clean一下吧。。。我每次都是这样弄的

#9


引用 2 楼 magi1201 的回复:
先在eclipse安装目录中将eclipse的启动参数调大一些

openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms128m
-Xmx1024m


然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数就可以了
"http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space

厉害,必须点个赞