内存泄露问题

问题描述

写贴出提示八月11,20145:09:24下午org.apache.catalina.startup.HostConfigdeployDirectory信息:DeployingwebapplicationdirectoryROOT八月11,20145:09:24下午org.apache.coyote.http11.Http11Protocolstart信息:StartingCoyoteHTTP/1.1onhttp-8888八月11,20145:09:24下午org.apache.jk.common.ChannelSocketinit信息:JK:ajp13listeningon/0.0.0.0:8009八月11,20145:09:24下午org.apache.jk.server.JkMainstart信息:JkrunningID=0time=1/20config=null八月11,20145:09:24下午org.apache.catalina.startup.Catalinastart信息:Serverstartupin12881ms八月11,20145:09:44下午org.apache.catalina.startup.HostConfigcheckResources信息:Reloadingcontext[/jike]八月11,20145:09:44下午org.apache.catalina.core.ApplicationContextlog信息:ClosingSpringrootWebApplicationContext八月11,20145:09:45下午org.apache.catalina.loader.WebappClassLoaderclearReferencesJdbc严重:Thewebapplication[/jike]registeredtheJDBCdriver[com.mysql.jdbc.Driver]butfailedtounregisteritwhenthewebapplicationwasstopped.Topreventamemoryleak,theJDBCDriverhasbeenforciblyunregistered.八月11,20145:09:45下午org.apache.catalina.loader.WebappClassLoaderclearReferencesJdbc严重:Thewebapplication[/jike]registeredtheJDBCdriver[org.logicalcobwebs.proxool.ProxoolDriver]butfailedtounregisteritwhenthewebapplicationwasstopped.Topreventamemoryleak,theJDBCDriverhasbeenforciblyunregistered.八月11,20145:09:45下午org.apache.catalina.loader.WebappClassLoaderclearReferencesThreads严重:Thewebapplication[/jike]appearstohavestartedathreadnamed[MySQLStatementCancellationTimer]buthasfailedtostopit.Thisisverylikelytocreateamemoryleak.八月11,20145:09:45下午org.apache.catalina.loader.WebappClassLoaderclearReferencesThreads严重:Thewebapplication[/jike]appearstohavestartedathreadnamed[StoresessionCacheSpoolThread]buthasfailedtostopit.Thisisverylikelytocreateamemoryleak.八月11,20145:09:45下午org.apache.catalina.loader.WebappClassLoaderclearReferencesThreads严重:Thewebapplication[/jike]appearstohavestartedathreadnamed[StoresessionCacheExpiryThread]buthasfailedtostopit.Thisisverylikelytocreateamemoryleak.八月11,20145:09:46下午org.apache.catalina.core.ApplicationContextlog信息:InitializingSpringrootWebApplicationContext

我使用的数据源<beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"><propertyname="driverClass"value="com.mysql.jdbc.Driver"/><propertyname="jdbcUrl"value="jdbc:mysql://localhost:3306/jike"/><propertyname="user"value="root"/><propertyname="password"value="root"/><!--ConnectionPoolingInfo--><propertyname="initialPoolSize"value="5"></property><propertyname="maxIdleTime"value="100"></property><propertyname="maxPoolSize"value="50"></property><propertyname="minPoolSize"value="5"></property></bean>

eh缓存的配置<beanid="cacheManager"class="net.sf.ehcache.CacheManager"></bean><cachename="sessionCache"maxElementsInMemory="1000"eternal="false"overflowToDisk="true"diskPersistent="false"timeToIdleSeconds="300"timeToLiveSeconds="300"diskExpiryThreadIntervalSeconds="120"memoryStoreEvictionPolicy="FIFO"/>

tomcat第一次启东市正常启动,但是reload项目是就有最上面的严重错误,reload一次到不碍事,多了就会内存溢出,异常我就不贴了。Tomcat:Causedby:java.lang.OutOfMemoryError:PermGenspace;很明显内存泄露,但是我不知道如何解决,求大神分析一下啊

解决方案

解决方案二:
Spring的项目稍微有点儿大的时候,在reload的时候就会内存溢出,它reload的时候不是完全释放,所以最好不要reload,重启
解决方案三:
+此外,为了缓解症状,可以调整JVM启动时候的堆栈空间空间-XMS-XMX
解决方案四:
这个问题之前论坛上出现过,不要在tomcat运行中reload,停掉tomcat,重新启动就可以了
解决方案五:
引用1楼himlyx的回复:

Spring的项目稍微有点儿大的时候,在reload的时候就会内存溢出,它reload的时候不是完全释放,所以最好不要reload,重启

引用3楼magi1201的回复:

这个问题之前论坛上出现过,不要在tomcat运行中reload,停掉tomcat,重新启动就可以了

每次重启多麻烦啊,这个会不会影响性能啊
解决方案六:
引用4楼aaaabbbccd9876的回复:

Quote: 引用1楼himlyx的回复:
Spring的项目稍微有点儿大的时候,在reload的时候就会内存溢出,它reload的时候不是完全释放,所以最好不要reload,重启

引用3楼magi1201的回复:

这个问题之前论坛上出现过,不要在tomcat运行中reload,停掉tomcat,重新启动就可以了

每次重启多麻烦啊,这个会不会影响性能啊

哪有在生产环境上reload的,都是重启。少用reload的那个功能,坑多
解决方案七:
引用4楼aaaabbbccd9876的回复:

Quote: 引用1楼himlyx的回复:
Spring的项目稍微有点儿大的时候,在reload的时候就会内存溢出,它reload的时候不是完全释放,所以最好不要reload,重启

引用3楼magi1201的回复:

这个问题之前论坛上出现过,不要在tomcat运行中reload,停掉tomcat,重新启动就可以了

每次重启多麻烦啊,这个会不会影响性能啊

我一般习惯重启,reload的内存泄露是一个原因,再就是缓存的问题。所以一般习惯停掉tomcat,删除缓存,然后重启性能问题,这个没有过多的考虑过,开发过程中习惯了就好了
解决方案八:
二楼+三楼=正解

时间: 2024-12-04 07:30:51

内存泄露问题的相关文章

关于Android聊天界面中用使用adapter导致内存泄露的问题,目前不知道如何改善,大神帮忙看看

问题描述 关于Android聊天界面中用使用adapter导致内存泄露的问题,目前不知道如何改善,大神帮忙看看 之前一段时间使用一段时间老是导致内存升高,而且内存也不回收,一步一步的排除了很多地方, 到最后发现问题是出在adapter中,但是也不知道怎么改了. 大神帮看看哪些地方会导致内存泄露! public void setmList(List mList) { if (isgroup) { isDiaplayNickName = SharePreferenceUtil.get_Boolean

记录由Equal基础知识引起的内存泄露

      在最近的公司框架开发中,利用了网上某大牛的反射缓存库作为辅助.在测试的时候发现出现了巨大的内存泄露,在频繁的操作后,内存不断的产生巨大的开销,10多分钟就占有了5,6m的内存.解决问题的时,公司不能上网,没有内存分析工具,没有我钟爱的ANTS Memory Profiler帮助下,我们只能靠简单的内存输出来二分查找缩小范围,利用 System.Diagnostics命名空间下的Process的WorkingSet64属性来统计两次输出的内存增长量(WorkingSet64:描述关联的

C语言内存泄露检测--Memwatch

项目:迅雷下载库内存泄露检测 作者:曾金龙 供职:深圳迅雷网络技术股份有限公司 领域:迅雷下载库 时间:2014-07-26 迅雷的移动下载库是用C语言编写的,为了能够横跨欧亚非拉(ios,android,还有诺基亚的什么系统来着,对了symban)和性能,我们厂的下载库就选择了C,然后在C代码里面使用各种宏,预编译等来达到一 个下载库,多平台使用.不过平台相关的都已经约束在了一个叫common的库里面的一个子模块里面了.这极大的解放了我厂的码农朋友. 但是C毕竟是C,在聊起C的时候,我们组最喜

Python中由于logging模块误用导致的内存泄露的解决方法

  Python中由于logging模块误用导致的内存泄露的解决方法         这篇文章主要介绍了解决Python中由于logging模块误用导致的内存泄露,针对由于过多的UDP连接所产生的问题,需要的朋友可以参考下 首先介绍下怎么发现的吧, 线上的项目日志是通过 logging 模块打到 syslog 里, 跑了一段时间后发现 syslog 的 UDP 连接超过了 8W, 没错是 8 W. 主要是 logging 模块用的不对 我们之前有这么一个需求, 就是针对每一个连接日志输出当前连接

htmlcxx中css文件解析中yyparse有内存泄露,哪位大神能不能帮忙看一下

问题描述 htmlcxx中css文件解析中yyparse有内存泄露,哪位大神能不能帮忙看一下 使用最新版的htmlcxx0.85版,把内部的css解析部分抽出之后,检测出内存泄露

android开发中的java内存泄露分析

做了较长时间的android开发了,发现其实android应用开发入门容易,但是进阶或者成为高级工程师,需要具备的基础能力还是非常高的:性能优化.内存泄露.apk瘦身.热修复等等,这些都非常的考验一个人的能力.android成长之路还很长,自己会持续的走下去.本文主要介绍android内存泄露方面的知识.其实要真的理解内存泄露,需要对JVM.java语言有一定的了解,在这个基础上就比较容易理解本文了. 一.内存泄露概念 在java中,如果一个对象没有可用价值了,但又被其他引用所指向,那么这个对象

关于MFC下检查和消除内存泄露的技巧

摘要 本文分析了Windows环境使用MFC调试内存泄露的技术,介绍了在Windows环境 下用VC++查找,定位和消除内存泄露的方法技巧. 关键词:VC++:CRT 调试堆函数: 试探法. 编译环境 VC++6.0 技术原理 检测内存泄漏的主要工具 是调试器和 CRT 调试堆函数.若要启用调试堆函数,请在程序中包括以下语句: #define CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h>注意 #include 语句

浏览器中的内存泄露

什么是内存泄露 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.在C++中,因为是手动管理内存,内存泄露是经常出现的事情.而现在流行的C#和Java等语言采用了自动垃圾回收方法管理内存,正常使用的情况下几乎不会发生内存泄露.浏览器中也是采用自动垃圾回收方法管理内存,但由于浏览器垃圾回收方法有bug,会产生内存泄露. 内存泄露Quick View 不同的浏览器中存在各种内存泄露方式,目前发现的主要是这样几种: 1.循环引用 已经确认存在泄漏的浏览器:IE6.0 FF2.0

Flex应用内存泄露的分析与诊断

引言 Flex 采用 ActionScript 语言作为脚本语言,编译后的二进制代码在 FlashPlayer 虚拟机 AVM(Actionscript Virtual Machine)中运行.和 Java 语言类似, AVM 中也有一个垃圾收集器(Garbage Collection),对于不用的对象,隔一段时间会进行 收集并销毁,释放内存.和 C++ 语言相比,程序员不需要时刻关注内存的分配和释放,大大 减轻了负担.但是垃圾收集器不能从根本上解决 Flex 内存泄露的问题,这得从 Flash

android内存泄露分析工具MAT详解

一.准备 1.什么是MAT Eclipse提供的一个内存分析工具.它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗. android studio未集成该插件 需要你下载独立版 android studio的DDMS可以生成hprof是什么文件,不过需要进行一下格式转化(.hprof文件从Dalvik格式转换成J2SE HPROF格式),才可以导入MAT独立版软件. 2.hprof是什么文件 heap dumps,中文翻译,堆转储,快照.即堆内存某个时刻的情