首页 新闻 会员 周边

内存泄漏的问题

0
悬赏园豆:10 [已关闭问题]

最近弄一个后台程序。流程定期FTP去文件然后下在到本地,分析文件内容,将有用的数据提取出来再与数据库进行分析,将数据更新另一个数据库中。

但是程序运行后,用内存监视软件发现内存使用量在上升。应该是一段时间稳定,然后上升在稳定。可能上升的区域是到了周期取数据所至,但为什么使用量会上升?周其执行使用Timer控件,查了些文档后。

将能关闭的连接进行了close,dispose,再将其置为Nothing(使用VB.Net开发),将New出的对象在判断其是否为空(Nothing)后,将其置为Nothing。

可是用监视软件查使用量还是上升的趋势

请问还有什么办法能降低内存使用量

谢谢

问题补充: 我将Timer 的代码 该为如下: 'Timer_Tick GET_CSV_DATA Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick Try TimeTick() Catch ex As Exception WriteToLocalLogFile(ex.Message) End Try End Sub Private Sub TimeTick() Dim LstLINXProPerty As New List(Of String) If Not IsNothing(LstLINXProPerty) Then LstLINXProPerty = Nothing End If GC.Collect() End Sub 可是内存还时增长。为什么?
二十二号同学的主页 二十二号同学 | 小虾三级 | 园豆:790
提问于:2009-08-22 15:36
< >
分享
其他回答(1)
0

上升趋势,不一定代表内存泄露,你要看一下虚拟内存和物理内存是否是有增无减的趋势,看一下句柄数量是不是很大,一直增加,如果这三项都不断增,这很可能是内存泄露;

可以考虑用自带的文件监控组件,有文件上传,就发通知,比用Timer要有优势,个人认为。

winzheng | 园豆:8797 (大侠五级) | 2009-08-22 15:57
0

用内存跟踪软件跟踪一下你的程序中哪些对象占用了大量内存。

见下面文章

http://www.cnblogs.com/eaglet/archive/2008/09/05/1285169.html

eaglet | 园豆:17139 (专家六级) | 2009-08-22 21:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册