c3p0 连接内存溢出问题

ruoye_2008 2011-02-23 12:26:18
...
Exception in thread "http-80-20" java.lang.OutOfMemoryError: PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThrea
d-#8" java.lang.OutOfMemoryError: PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThrea
d-#5" java.lang.OutOfMemoryError: PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThrea
d-#6" java.lang.OutOfMemoryError: PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThrea
d-#9" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-80-23" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-80-24" java.lang.OutOfMemoryError: PermGen space
....

c3p0连接池是在Spring的配置文件里配的,平时没出现过这种问题,但运行一些天数之后,就报这个了
请教一下大家,有碰到过这种问题的吗?

另附c3p0配置:
c3p0.acquireIncrement=3
c3p0.initialPoolSize=3
c3p0.minPoolSize=2
c3p0.maxPoolSize=50
c3p0.maxIdleTime=600
c3p0.idleConnectionTestPeriod=900
c3p0.maxStatements=100
c3p0.numHelperThreads=10
...全文
542 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruoye_2008 2011-03-04
  • 打赏
  • 举报
回复
改tomcat,似乎还是出错

最后换了一台服务器,到目前还没有出那相同的错,倒地!!!
  • 打赏
  • 举报
回复
修改了类或资源文件,最好是能重新启动服务器,而不是使用服务器自动类加载的功能!

看抛出的异常,估计是热部署的次数太多造成的!
weipj007 2011-02-24
  • 打赏
  • 举报
回复
肯定不是c3po的问题。找找代码上的bug:线程,内存放的数据量。。。。。。。
BearKin 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 bao110908 的回复:]
修改了类或资源文件,最好是能重新启动服务器,而不是使用服务器自动类加载的功能!

看抛出的异常,估计是热部署的次数太多造成的!
[/Quote]

热部署会残留东西么?...
ruoye_2008 2011-02-23
  • 打赏
  • 举报
回复
怎么CSDN那个着色也没有啦?
0轰隆隆0 2011-02-23
  • 打赏
  • 举报
回复
抛出的异常是内存不够用了

我看不是连接池的问题

应该是线程开的太多,你查查线程方面的代码!
shengpulong 2011-02-23
  • 打赏
  • 举报
回复
myeclipse中配置的tomcat下面的jdk的内存配置 Optional java VM arguments 下面加上-Xmx1024M -Xms512M -XX:MaxPermSize=256m就差不多能解决你的问题啦
ruoye_2008 2011-02-23
  • 打赏
  • 举报
回复
哦,确实

开始我还以为是C3P0的问题,不过,上网查了下,它的配置也改动了一些,看以后还出不出这个问题
cuilike 2011-02-23
  • 打赏
  • 举报
回复
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
zn85600301 2011-02-23
  • 打赏
  • 举报
回复
内存溢出 一定是从c3p0引起的吗?
加大内存一般不能根本的解决问题
http://www.javaeye.com/topic/80620你看看这个
luman2002 2011-02-23
  • 打赏
  • 举报
回复
服务器是Tomcat吗
以前我也碰到过类似的问题
后来修改Tomcat的jvm设置,把内存加大,就正常了
你试试

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧