用任务管理器测试内存泄露的方法很简单。
任务管理器和内存泄露紧密相关的只有两项,一个是内存使用率,一个是当前句柄数。
方法分别如下:
1,内存泄露的方法:
打开任务管理器,此时要减少电脑或虚拟机上其它类型的活动程序,尽量保证查看到的参数和当前运行的程序有较大的相关性。记录此时的内存使用率。在没有其它程序的情况下,应该是一个较低较稳定的值。
打开需要监视的程序,检测此时任务管理器的内存使用率的情况(tips:尽量把任务管理器界面的刷新次数调高点,太低:比如 4秒 参考到的值个人认为就不精确了),首先看大约增长了多少(估计此程序运行时占用的内存数,可以作为软件性能的参考)。
调用服务或者其它可能引起内存泄露的操作,检查第一次调用后内存使用率增长的情况。关闭服务或界面,同时查看进程线程数,是否随之变化。查看内存是否恢复到之前的水平。如果这个结果不明显,可以重复操作,相当于把泄露累计起来。如果重试了很多遍,内存仍然和第一次打开程序时的比例持平,基本认为没有内存泄露。
2,句柄泄露的测试方法
句柄泄露和内存泄露可以一起进行。
同样,打开任务管理器,得到当前的句柄数,运行程序,查看句柄数。然后关闭,查看句柄数。运行多次,得到两组值。如果是间隔的上下,并且数值相差不大,认为无泄露。
当然,这些方法不能完全确认程序是否杜绝了所有的内存泄露或句柄泄露,