2012-09-24 29 views
3

我的应用程序运行:的OutOfMemoryError在C3P0PooledConnectionPoolManager

  • 的apache-tomcat的-7.0.27;
  • primefaces 3.1.1;
  • mysql-connector-java-5.0.8;
  • jsf 2.0;
  • c3p0-0.9.2-pre2;
  • hibernate3;

和启动服务器和访问我这几页前几分钟后:

Exception in thread "C3P0PooledConnectionPoolManager-Helper Thread-#0" java.lang.OutOfMemoryError: PermGen space 

这很奇怪,因为我没有“压力”我的系统,我做的只是简单的访问。

我想这是一个c3p0问题,或者我失去了一些东西。

无论如何,这是我的C3P0配置(*):

  • HibernateConnectionProviderClass = “org.hibernate.connection.C3P0ConnectionProvider”;
  • HibernateC3p0MinSize = “3”
  • HibernateC3p0MaxSize = “5”
  • HibernateC3p0Timeout = “1800”
  • HibernateC3p0IdleTestPeriod = “100”

(*)忽略配置格式,因为它是在类并在执行时间运行。

+1

我不确定'C3P0'是罪魁祸首。内存泄漏可能发生在很多地方。您应该尝试将问题追溯到根源。 这个链接解释了一些关于'PermGen'''s问题和如何分析它们的问题。这个例子甚至适用于'Tomcat'。 http://cdivilly.wordpress.com/2012/04/23/permgen-memory-leak/ –

+0

其良好的醇'c3p0/cglib泄漏:重复在这里:http://stackoverflow.com/questions/5418318/hibernate -outofmemoryerror-permgen-space –

回答

-1

我会尝试将-XX:MaxPermSize=256m添加到Windows上的setenv.sh或setenv.bat中的JAVA_OPTS变量。该文件位于tomcat安装目录内的bin文件夹中。

+0

为什么不只是去'512m'? – kolossus

+0

问题是我租的服务器上的内存有限。 –