日期:2014-05-17  浏览次数:20804 次

这就是传说中的内存泄露吗?
我的asp.net程序在运行一段时间后,服务器的物理内存就越来越小,任务管理器中找不到其他占用内存的进程,可以肯定是我这个程序越运行物理内存越小,但进程管理器中显示的我的这个进程只占用2G(系统有16G的内存)。请问这是不是就是传说中的内存泄露,我该怎么检查我的程序呢?或者有什么工具能检查我的程序在什么位置内存泄露了?

------解决方案--------------------
可能是,也可能不是。用clrprofiler看下。
------解决方案--------------------
你把程序中的某些句子注释掉以后运行程序,观察内存是否有变化,可以先一段段来,缩小范围,然后一句句找,比较快能够定位是哪个句子出了问题
------解决方案--------------------
参考下这个文章进行分析:http://www.cnblogs.com/yanyangtian/archive/2011/02/17/1956768.html
------解决方案--------------------
原来用webbrowser控件刷新多了经常出这个问题
------解决方案--------------------
如果你的程序进程在启动起来后使用的内存持续增加的话,那就是内在泄露了。

短时的上下波动是正常情况。

如果你的程序进程内存没有持续增加,而总内存去持续增加的话,那就是其他进程的问题了。