内存泄露问题

aaaabbbccd9876 2014-08-11 05:20:08
写贴出提示

八月 11, 2014 5:09:24 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
八月 11, 2014 5:09:24 下午 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8888
八月 11, 2014 5:09:24 下午 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
八月 11, 2014 5:09:24 下午 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=1/20 config=null
八月 11, 2014 5:09:24 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 12881 ms
八月 11, 2014 5:09:44 下午 org.apache.catalina.startup.HostConfig checkResources
信息: Reloading context [/jike]
八月 11, 2014 5:09:44 下午 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
八月 11, 2014 5:09:45 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/jike] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
八月 11, 2014 5:09:45 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/jike] registered the JDBC driver [org.logicalcobwebs.proxool.ProxoolDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
八月 11, 2014 5:09:45 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jike] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
八月 11, 2014 5:09:45 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jike] appears to have started a thread named [Store sessionCache Spool Thread] but has failed to stop it. This is very likely to create a memory leak.
八月 11, 2014 5:09:45 下午 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jike] appears to have started a thread named [Store sessionCache Expiry Thread] but has failed to stop it. This is very likely to create a memory leak.
八月 11, 2014 5:09:46 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext

我使用的数据源

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/jike"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
<!-- Connection Pooling Info -->
<property name="initialPoolSize" value="5"></property>
<property name="maxIdleTime" value="100"></property>
<property name="maxPoolSize" value="50"></property>
<property name="minPoolSize" value="5"></property>
</bean>

eh缓存的配置

<bean id="cacheManager" class="net.sf.ehcache.CacheManager">
</bean>
<cache name="sessionCache"
maxElementsInMemory="1000"
eternal="false"
overflowToDisk="true"
diskPersistent="false"
timeToIdleSeconds="300"
timeToLiveSeconds="300"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="FIFO"
/>

tomcat第一次启东市正常启动,但是reload项目是就有最上面的严重错误,reload一次到不碍事,多了就会内存溢出,异常我就不贴了。Tomcat:Caused by: java.lang.OutOfMemoryError: PermGen space;很明显内存泄露,但是我不知道如何解决,求大神分析一下啊
...全文
175 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
-阿克蒙德- 2014-08-11
  • 打赏
  • 举报
回复
二楼+三楼=正解
姜小白- 2014-08-11
  • 打赏
  • 举报
回复
引用 4 楼 aaaabbbccd9876 的回复:
[quote=引用 1 楼 himlyx 的回复:] Spring的项目稍微有点儿大的时候,在reload的时候就会内存溢出,它reload的时候不是完全释放,所以最好不要reload,重启
引用 3 楼 magi1201 的回复:
这个问题之前论坛上出现过,不要在tomcat运行中reload,停掉tomcat,重新启动就可以了
每次重启多麻烦啊,这个会不会影响性能啊[/quote] 我一般习惯重启,reload的内存泄露是一个原因,再就是缓存的问题。 所以 一般习惯停掉tomcat,删除缓存,然后重启 性能问题,这个没有过多的考虑过,开发过程中习惯了就好了
致知Fighting 2014-08-11
  • 打赏
  • 举报
回复
引用 4 楼 aaaabbbccd9876 的回复:
[quote=引用 1 楼 himlyx 的回复:] Spring的项目稍微有点儿大的时候,在reload的时候就会内存溢出,它reload的时候不是完全释放,所以最好不要reload,重启
引用 3 楼 magi1201 的回复:
这个问题之前论坛上出现过,不要在tomcat运行中reload,停掉tomcat,重新启动就可以了
每次重启多麻烦啊,这个会不会影响性能啊[/quote] 哪有在生产环境上reload的,都是重启。 少用reload的那个功能,坑多
aaaabbbccd9876 2014-08-11
  • 打赏
  • 举报
回复
引用 1 楼 himlyx 的回复:
Spring的项目稍微有点儿大的时候,在reload的时候就会内存溢出,它reload的时候不是完全释放,所以最好不要reload,重启
引用 3 楼 magi1201 的回复:
这个问题之前论坛上出现过,不要在tomcat运行中reload,停掉tomcat,重新启动就可以了
每次重启多麻烦啊,这个会不会影响性能啊
姜小白- 2014-08-11
  • 打赏
  • 举报
回复
这个问题之前论坛上出现过,不要在tomcat运行中reload,停掉tomcat,重新启动就可以了
陈字文 2014-08-11
  • 打赏
  • 举报
回复
+ 此外,为了缓解症状,可以调整JVM启动时候的堆栈空间空间 -XMS -XMX
himlyx 2014-08-11
  • 打赏
  • 举报
回复
Spring的项目稍微有点儿大的时候,在reload的时候就会内存溢出,它reload的时候不是完全释放,所以最好不要reload,重启

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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