最近弄一个后台程序。流程定期FTP去文件然后下在到本地,分析文件内容,将有用的数据提取出来再与数据库进行分析,将数据更新另一个数据库中。
但是程序运行后,用内存监视软件发现内存使用量在上升。应该是一段时间稳定,然后上升在稳定。可能上升的区域是到了周期取数据所至,但为什么使用量会上升?周其执行使用Timer控件,查了些文档后。
将能关闭的连接进行了close,dispose,再将其置为Nothing(使用VB.Net开发),将New出的对象在判断其是否为空(Nothing)后,将其置为Nothing。
可是用监视软件查使用量还是上升的趋势
请问还有什么办法能降低内存使用量
谢谢
上升趋势,不一定代表内存泄露,你要看一下虚拟内存和物理内存是否是有增无减的趋势,看一下句柄数量是不是很大,一直增加,如果这三项都不断增,这很可能是内存泄露;
可以考虑用自带的文件监控组件,有文件上传,就发通知,比用Timer要有优势,个人认为。
用内存跟踪软件跟踪一下你的程序中哪些对象占用了大量内存。
见下面文章
http://www.cnblogs.com/eaglet/archive/2008/09/05/1285169.html