任务管理器测试内存泄露

来源:互联网 发布:win7电脑端口怎么设置 编辑:程序博客网 时间:2024/04/28 02:11

用任务管理器测试内存泄露的方法很简单。

 

任务管理器和内存泄露紧密相关的只有两项,一个是内存使用率,一个是当前句柄数。

 

方法分别如下:

 

1,内存泄露的方法:

 

打开任务管理器,此时要减少电脑或虚拟机上其它类型的活动程序,尽量保证查看到的参数和当前运行的程序有较大的相关性。记录此时的内存使用率。在没有其它程序的情况下,应该是一个较低较稳定的值。

打开需要监视的程序,检测此时任务管理器的内存使用率的情况(tips:尽量把任务管理器界面的刷新次数调高点,太低:比如 4秒 参考到的值个人认为就不精确了),首先看大约增长了多少(估计此程序运行时占用的内存数,可以作为软件性能的参考)。

 

调用服务或者其它可能引起内存泄露的操作,检查第一次调用后内存使用率增长的情况。关闭服务或界面,同时查看进程线程数,是否随之变化。查看内存是否恢复到之前的水平。如果这个结果不明显,可以重复操作,相当于把泄露累计起来。如果重试了很多遍,内存仍然和第一次打开程序时的比例持平,基本认为没有内存泄露。

 

2,句柄泄露的测试方法

 

句柄泄露和内存泄露可以一起进行。

 

同样,打开任务管理器,得到当前的句柄数,运行程序,查看句柄数。然后关闭,查看句柄数。运行多次,得到两组值。如果是间隔的上下,并且数值相差不大,认为无泄露。

 

当然,这些方法不能完全确认程序是否杜绝了所有的内存泄露或句柄泄露,但是对于一些比较明显的问题,任务管理器查看法不失为一种方便快捷的途径。

 

 

 

附:

 

任务管理器界面性能标签页下各项参数的含义:

 

cpu使用率:可理解为目前运行的程序占用了处理器运算能力的比例;

PF使用率:虚拟内存已经使用的总空间:对于每个32位机下的进程来说,最多都有4GB的缓存空间;

 

总数之

句柄数:其实是当前所有进程的所有活动句柄,所有进程使用的所有对象;

线程数:进程的子单位;

进程数:程序或服务总数;

 

物理内存之

总数:计算机上安装的总物理内存,也称RAM;

可用数:物理内存中可被程序使用的空余量。但实际的空余量要比这个数值略大一点,因为物理内存不会在完全用完后才去转用虚拟内存的。也就是说这个空余量是指使用虚拟内存(pagefile)前所剩余的物理内存。

系统缓存:被分配用于系统缓存用的物理内存量。主要来存放程序和数据等。一但系统或者程序需要,部分内存会被释放出来,也就是说这个值是可变的。

 

认可用量之

总数:其实就是被操作系统和正运行程序所占用内存总和,包括物理内存和虚拟内存(pagefile)。它和上面的PF使用率是相等的。

限制:指系统所能提供的最高内存量,包括物理内存(RAM)和虚拟(page file)内存。

峰值:指一段时间内系统曾达到的内存使用最高值。如果这个值接近上面的“限制”的话,意味着要么你增加物理内存,要么增加pagefile,否则系统会给你颜色看的!


内核内存之

总数:操作系统内核和设备驱动程序所使用的内存,

分页数:是可以复制到页面文件中的内存,一旦系统需要这部分物理内存的话,它会被映射到硬盘,由此可以释放物理内存;

未分页:是保留在物理内存中的内存,这部分不会被映射到硬盘,不会被复制到页面文件中。

 

只要你打开一个程序开始运行,实际上前面这些参数都会涉及到。但说到与内存泄露相关,则只有

 

 

 

 

原创粉丝点击