任务管理器测试内存泄露
来源:互联网 发布:win7电脑端口怎么设置 编辑:程序博客网 时间:2024/04/28 02:11
用任务管理器测试内存泄露的方法很简单。
任务管理器和内存泄露紧密相关的只有两项,一个是内存使用率,一个是当前句柄数。
方法分别如下:
1,内存泄露的方法:
打开任务管理器,此时要减少电脑或虚拟机上其它类型的活动程序,尽量保证查看到的参数和当前运行的程序有较大的相关性。记录此时的内存使用率。在没有其它程序的情况下,应该是一个较低较稳定的值。
打开需要监视的程序,检测此时任务管理器的内存使用率的情况(tips:尽量把任务管理器界面的刷新次数调高点,太低:比如 4秒 参考到的值个人认为就不精确了),首先看大约增长了多少(估计此程序运行时占用的内存数,可以作为软件性能的参考)。
调用服务或者其它可能引起内存泄露的操作,检查第一次调用后内存使用率增长的情况。关闭服务或界面,同时查看进程线程数,是否随之变化。查看内存是否恢复到之前的水平。如果这个结果不明显,可以重复操作,相当于把泄露累计起来。如果重试了很多遍,内存仍然和第一次打开程序时的比例持平,基本认为没有内存泄露。
2,句柄泄露的测试方法
句柄泄露和内存泄露可以一起进行。
同样,打开任务管理器,得到当前的句柄数,运行程序,查看句柄数。然后关闭,查看句柄数。运行多次,得到两组值。如果是间隔的上下,并且数值相差不大,认为无泄露。
当然,这些方法不能完全确认程序是否杜绝了所有的内存泄露或句柄泄露,但是对于一些比较明显的问题,任务管理器查看法不失为一种方便快捷的途径。
附:
任务管理器界面性能标签页下各项参数的含义:
cpu使用率:可理解为目前运行的程序占用了处理器运算能力的比例;
PF使用率:虚拟内存已经使用的总空间:对于每个32位机下的进程来说,最多都有4GB的缓存空间;
总数之
句柄数:其实是当前所有进程的所有活动句柄,所有进程使用的所有对象;
线程数:进程的子单位;
进程数:程序或服务总数;
物理内存之
总数:计算机上安装的总物理内存,也称RAM;
可用数:物理内存中可被程序使用的空余量。但实际的空余量要比这个数值略大一点,因为物理内存不会在完全用完后才去转用虚拟内存的。也就是说这个空余量是指使用虚拟内存(pagefile)前所剩余的物理内存。
系统缓存:被分配用于系统缓存用的物理内存量。主要来存放程序和数据等。一但系统或者程序需要,部分内存会被释放出来,也就是说这个值是可变的。
认可用量之
总数:其实就是被操作系统和正运行程序所占用内存总和,包括物理内存和虚拟内存(pagefile)。它和上面的PF使用率是相等的。
限制:指系统所能提供的最高内存量,包括物理内存(RAM)和虚拟(page file)内存。
峰值:指一段时间内系统曾达到的内存使用最高值。如果这个值接近上面的“限制”的话,意味着要么你增加物理内存,要么增加pagefile,否则系统会给你颜色看的!
内核内存之
总数:操作系统内核和设备驱动程序所使用的内存,
分页数:是可以复制到页面文件中的内存,一旦系统需要这部分物理内存的话,它会被映射到硬盘,由此可以释放物理内存;
未分页:是保留在物理内存中的内存,这部分不会被映射到硬盘,不会被复制到页面文件中。
只要你打开一个程序开始运行,实际上前面这些参数都会涉及到。但说到与内存泄露相关,则只有
- 任务管理器测试内存泄露
- 任务管理器测试内存泄露
- 利用任务管理器侦测GDI内存泄露
- 任务管理器-内存管理知识
- 内存泄露测试代码
- 如何测试内存泄露
- valgrind测试内存泄露
- Android 内存泄露测试
- Android 内存泄露测试
- 测试内存泄露
- 内存泄露的测试
- 内存泄露测试
- linux系统测试内存泄露
- Android的内存泄露测试
- sIEve测试js内存泄露
- Android的内存泄露测试
- 普通的内存泄露测试
- java 内存泄露小测试
- windows 编程 何去何从
- 禁止对方网站刷新站点页面. parent.window.opener
- http://hi.baidu.com/kacaca/blog/item/1fd412d644f9f42907088b89.html
- Java基础练习题 考试题 笔试题 面试题
- 上班!!!
- 任务管理器测试内存泄露
- Java web 开发的几个细节
- Flash和服务器间的通信
- 双语DVD提取其中一门语言压制成RMVB
- 学会放手~~
- Java基础练习题 考试题 笔试题 面试题 (1)
- Web.config配置文件详解(新手必看)
- java与FlashSocket通信安全(转载)
- 转一文