1、【摘要】 本文详细介绍了 Windows 性能计数器 在帮助查找 软件产品 性能瓶颈 中的作用以及使用方法等,为开发、 测试 以及系统分析人员介绍一种简洁高效性能跟踪评估手段 。 1 概述 软件产品常常会出现这样的情况:产品性能因某些无法预料的瓶颈而受到干扰,导致程序的处理效率降低,性能得不到充分的发挥。如何快速有效地找到软件产品的性能瓶颈,则是我们感兴趣的内容之一。 Windows 2000 附带的 Windows 性能监视器提供的性能计数器具有强大的功能,可以使我们能够获得系统或进程的各种详细信息, 比如系统进程、 CPU 利用率、磁盘活动、内存使用等等,巧妙灵活地利用这一工具,可以有效地
2、帮助我们确定软件产品性能瓶颈所在 。 2 使用说明 Windows 性能监视器置于 Windows 操作系统之中,它允许用户访问系统性能数据。访问性能监视器的简单方法是,从 “ 开始 ” 菜单中,选择 “ 开始 ” =“ 程序 ” =“ 管理工具 ” =“ 性能 ” 即可启动。如果 “ 程序 ” 菜单中没有 “ 管理工具 ” 程序组,请从控制面板中选择。 图( 1)展示了最初的性能监视器窗口。图( 1) 性能监视器窗口 2.1 性能监视动态显示模式 图( 1)显示的是 Winword 进程 CPU 占用情况实时分布图。 在视图区,点击右键,选择 “ 添加计数器 ” ,出现如下图所示窗口。 图(
3、 2) 添加计数器 假设需要对 Winword 进程的 CPU 占用时间和句柄数进行监视,则进行如下操作: ( 1) 从 “ 添加计数器 ” 窗口中,选择性能对象为 “Process” (进程); ( 2) 选中 “ 从列表选择实例 ” ; ( 3) 选中需要监视的进程,如 Winword; ( 4) 选中 “ 从 列表选择计数器 ” ,从列表框中选中需要监视的特性,如 CPU 占用时间、句柄数等; ( 5) 设置完毕,点击 “ 添加 ” 按钮,关闭窗口,即可实时监视选中的参数。 动态监视的缺点是:监视周期只有 1分 40 秒时长,并且数据不能连续输出到文件中。不能 做后续分析。 2.2 性能
4、数据连续跟踪统计 2.2.1 性能采集设置 当需要对性能数据进行连续统计,并进行后续分析时,我们可以采用另外一种方式:启用计数器 日志 。 图( 3)展示了启用计数器日志的性能监视器窗口。 图( 3) 添加 计数器 我们以监视 Winword 进程的 CPU 占用时间、物理内存和虚拟内存为例进行说明。 ( 1) 如上图所示,在左边树图区,展开 “ 性能日志和报警 ” 项,在该分支下选中 “ 计数器日志 ” ; ( 2) 在右边视图区,点击右键,选择 “ 新建日志设置 ” ,在弹出的对话框中输入一个名称,如 “MyCount” ,应用后出现如下图( 4)所示属性设置对话框; 图( 4) 计数器属
5、性设置 ( 3) 点击 “ 添加 ” 按钮,出现如图( 2)所示的 “ 添加计数器 ” 对话框; ( 4) 从 “ 添加计数器 ” 窗口中,选择性能对象为 “Process” (进程); ( 5) 选中 “ 从列表选择实例 ” ; ( 6) 选中需要监视的进程,如 Winword; ( 7) 选中 “ 从列表选择计数器 ” ,从列表框中选中需要监视的特性,如 CPU 占用时间、物理内存、虚拟内存等; ( 8) 设置完毕,点击 “ 添加 ” 按钮,关闭窗口,回到图( 4)显示窗口; ( 9) 在图( 4)对话框中,切换至 “ 日志文件 ” 属性页,如图( 5)所示; 图( 5) 日志文件属性设置
6、 ( 10) 在图( 5)中,将日志类型设置为 CSV 格式,便于在 Excel 中导入; ( 11) 将日志大小设置为最大限度,也可以根据需要预设定文件记录大小; ( 12) 在图( 4)对话框中,切换至 “ 计划 ” 属性页,如图( 6)所示; 图( 6)采集计划定制 ( 13) 采用默认计 划,关闭设置对话框; ( 14) 开始采集监视对象性能数据,如果需要停止采集,手工终止即可。 优点:可以设定采样频率,指定时长或者手工控制采样时长不间断地采集性能数据,并且 可以多种格式存储数据,满足不同的需求,便于事后分析。 2.2.2 性能采集数据分析 采集的数据被记录到 Execl 文件中。数据记录如下: 图( 7)采集数据记录 ( 1) 打开日志文件; ( 2) 选中需要分析的数据(列); ( 3) 点击工具条中的 “ 图表向导 ” ,出现如下图( 8)所示对话框; 图( 8)图表类型设置 ( 4) 选中 “ 折线图 ” 中的第一个图形,进入下一步; 图( 9)图表类型设置 ( 5) 在图( 9)中,将数据区域设置为从第二行开始;