| 5. 内存监视工具Poolmon.exe
这个工具可以监视内存中总共使用的页面数和非页面的"内存池",以探测内存中有无"空洞"存在.内存中的所谓"空洞"是指:本来可供使用、但实际上并未使用的区域.减少空洞可以提高内存的使用效率,防止内存的浪费.与使用别的命令行程序不同,这个程序需要在加载运行之后才可以得到"在线"的提示帮助信息.另外,这个工具还需要一个叫做gflags的程序来配合,更麻烦的是程序gflags也像前面介绍的有些程序一样,具有适应两种环境的版本.这种互相交叉的用法使得不熟悉它们相互关系的人感到眼花缭乱.下面结合Poolmon.exe的使用,对二者都先介绍命令行的版本.
1、 在使用Poolmon.exe之前,必须先运行gflags.可以在“开始-$#@62;运行”中键入cmd,点击确定打开命令行窗口,(注意:本文中所有命令行程序都可以先用cmd打开一个类似dos模式的窗口),然后在窗口中键入命令和参数,执行该命令行程序:gflags
-r +ptg 参数的含义到介绍gflags的GUI版本时再解释.
2、 执行后重新启动计算机.
3、 重新启动成功后,即可在命令行中执行 poolmon,其语法如下:
poolmon [itag] [xtag] [switch]
参数及说明:
itag :仅列出与内存池匹配的标记名字,标记名字中可以包含统配符?或*.
xtag :列出每个不与内存池匹配的标记名字,标记名字中可以包含统配符?或*.
参数后面还可以使用以下开关:
t :依据字母顺序列表. p :依据内存池类型列表.
a :依据内存分配的大小列表. f: 依据自由内存列表.
d :依据分配和未分配之间的差异来列表. e :总合计列表.
b:依据使用的最大值列表 . m :依据分配的最大值列表.
L :对所显示信息的那些行,背景颜色的控制开关,默认是开(即以不同颜色来显示区别)
从我验证的印象看,按照上述步骤执行Poolmon 后,命令行窗口中以行列方式显示关于内存的信息,每一行对应一个tag名,活动部分的Tag行背景颜色与非活动部分不同.至于这些行的先后顺序和显示行的总数,决定于所用的开关参数.
|