windows 性能监视器(2)

上一篇 / 下一篇  2012-12-13 11:17:07 / 个人分类:测试工具

 

系统监视器——透过现象看本质
1.理解重要概念
系统监视器以图形方式实时显示出指定系统性能数据。在使用前,首先需要理解一些概念的含义。
(1)性能对象:所谓性能对象,就是指影响系统性能表现最关键的几个部件:CPU、内存、硬盘等。Windows XP从它们那里获得性能数据。要监视系统状态,首先就要选择这些对象。
(2)性能计数器:上面提到的关键部件的性能随时都在变化,是动态的数据,所以必须有一台“摄像机”随时监控它们,并把记录下来的性能表现随时回放给我们。每个性能对象的计数器就扮演着这样的角色,每个计数器用于描述与性能有关的特定方面的数据。为了统一衡量标准,所以性能数据都以具体数值来表示。例如,“Memory”(内存)对象提供的“Pages/sec”(分页/秒)计数器跟踪虚拟内存读取和写入速度,也就是每秒处理的分页数。

什么是分页(Page)?
为了便于管理和存放数据,Windows会将物理内存(RAM)与虚拟内存分割成许多小块,称为Page(分页),每个Page为4KB,它也是内存在Windows系统中的单位,每个Page都有编号。程序运行时,系统就会将该程序所需文件先从硬盘调入并保存到这些内存分页中,之后要用那个文件,只需指明文件所在相应分页的编号即可,调用起来非常方便。Windows 2000/XP的虚拟内存文件Pagefile.sys被称为分页文件(或页面文件)。


三个关键性能计数器
★“Pages/sec”(内存分页/秒):主要用来表示平均每秒从虚拟内存中进行读取和写入的内存分页数。应用程序运行时,并没有把全部内容都加载到内存中,而是当内存中没有所需信息时才会到硬盘中调用。调用的内存分页越多、越频繁,系统性能就越差。
★“Avg. Disk Queue Length”(磁盘访问序列的平均值):这个计数器的功能实际上用于多个物理磁盘共存的时候,此时磁盘性能会超过单个硬盘的性能,如果你安装有多块硬盘,那么这个计数器有时会显示出100%(甚至更高)的状态。
★“%Processor Time”(处理器执行有效线程时间的百分比):它反映的是CPU实际花费在有效线程执行和请求服务处理上的时间,用100%减去该计数器的读数就是系统处于空闲状态的时间。CPU不像收款员,它不会干坐在那里等待下一个任务的到来,而必须总有一些事情去做。就像我们打开电脑,不管是否进行操作,它的电源线上始终有电流流过,为了保证CPU始终有事可做,当它没有其他任务时,Windows便为它准备了另一件事,就是调用“空闲进程”(也就是我们以前曾经介绍过的“System Idle Process”,在系统没有什么操作时,它常常会显示为99%或100%)。实际上,系统在计算处理器时间时,并不是对每个不同的线程运行时间进行统计,而只是对空闲进程的运行时间进行计算,然后只要简单地用100%减去空闲进程的时间,就得到了“%Processor Time”。

下面我们通过一个实例来了解一下系统监视器在内存分析中的应用。
实例1:我的电脑需要增加内存吗?
内存使用情况是影响系统性能的最重要因素。当内存不足时,就会使用系统页面文件,虽然这样可以使系统得到更多可用内存,但毕竟硬盘速度和内存速度相差很多,频繁读取和写入页面文件,会降低系统性能。通过系统监视器,可以观察到系统内存不足以及页面文件的使用情况,从而指导你决定是否该添加物理内存。
添加计数器
首先要添加一个“Memory”对象的“Available MBytes”(可用内存数)计数器。在图表中右击,选择“添加计数器”打开对话框,选中“使用本地计算机计数器”选项,并在下面的“性能对象”下拉框中选择“Memory”对象。下面会列出该对象的性能计数器,选中“Available MBytes”后单击“添加”按钮(见图2)。单击“说明”按钮可查看该计数器的功能描述。新添加的计数器会显示在主界面下的计数器列表中,不过默认的线条颜色可能会与已经存在的计数器一样,这时可以右击“Available MBytes”计数器,选择“属性”,在打开的对话框中“颜色”下拉框中选择其他颜色即可。


分析计数器
“Available MBytes”计数器表明了当前可用的内存字节数,如果它的值小于5MB,说明物理内存可能不足,或某些程序没有释放内存。这里还需要结合列表中已经存在的“Pages/sec”计数器进行综合分析。该计数器代表页面文件的交换速度,如果“Pages/sec”的值为20或更大,表明系统使用内存页面文件比较频繁,这时可尝试退出那些大内存占用程序,并查看“Pages/sec”计数器,看内存页交换速率是否有显著变化,如果变化明显,说明内存不足的可能性极大,需要添加内存。
小提示
系统监视器默认的三个计数器无法直接删除,但它们会降低监视器启动的速度,如果要让监视器启动时不装入任何计数器,可以打开Windows\system32目录,取消“perfmon.msc”文件的只读属性,然后重启性能管理工具,选中要删除的计数器,单击工具栏中“删除”按钮,然后选择菜单“文件→保存”,即可将修改后的“perfmon.msc”文件保存到磁盘,再次启动时,就不会出现被删除的计数器了。通过此方法你也可以定制自己需要的启动计数器。

3.其他常用性能计数器

小提示
就像任何程序一样,系统监视器本身也要占用一定资源。它通常会使用最少5MB内存和1%~5%的CPU时间。当然,磨刀不误砍柴功,这点代价换来对系统的了解,还是值得的。

实例2:软件和硬件,到底谁是元凶?
有些朋友会发现自己的电脑配置并不低,但用起来感觉却很慢,这时利用性能监视器,可以比较轻松地找出问题到底出在硬件还是软件上。下表是常用的计数器,如果数值超过后面的“查看值”,则需要关注了。
基本计数器
对象 计数器 查看值
Processor %Preocessor Time(处理器时间) >80%
Physical Disk %Disk Time(磁盘时间) >80%
Memory Pages/sec(分页/秒) >12

(1)快速识别硬件故障
对于硬件故障,原因和现象比较复杂,一般不好判断。这里介绍一个简单的识别方法:在Processor对象下面分别建立“%Interrupt Time”和“%Processor Time”两个计数器。运行这个计数器一段时间,看看这两个计数器在同一时间是否都比较高(超过80%),如果都高,那么很可能是硬件问题。
一般来说,如果系统本身比较老或刚搬动过,那么很可能是电脑中的插卡松动,需要插紧,同时还有机箱中灰尘过厚也会引发硬件问题;也可能是硬件驱动程序有问题,需要更新;或者硬件存在中断或DMA冲突;存在一些比较老的设备,比如:ISA卡等。
如何查找有问题的硬件呢?如果发现两个计数器同时都比较高,可再观察正在进行的操作,比如:正在听音乐,那么可能就是声卡的问题了。
(2)捉出软件“罪犯”
如果排除了硬件故障,就要从软件方面找原因了。按照同样方法,可以建立一个“%Processor Time”的计数器,在窗口右侧选择要监视的进程项目。按照这样的方法,把怀疑有问题的进程依次监视起来,然后就可以用曲线图查看了。比如,我们怀疑Word、QQ、Photoshop以及一款杀毒软件是系统性能下降的原因,就分别监视这几个软件的进程,一般和他们主程序的名称是一致的。
监视开始后,可以在曲线图上看到这几个进程使用CPU时间的走势,如果有某个程序一直在曲线图的上层,如超过80%以上,那么它是影响性能的主要原因。应该尽快关闭这个进程,重启电脑,看看能否解决问题,如果不能,则应该安装补丁程序或更换到最新版本。
小提示
根据我们的经验,16位程序往往会在很大程度上影响系统性能,如果在任务管理器的“进程”列表中看到“NTVDM”和“WOWEAEC.exe”,那么可以确定当前有16位程序在运行。

 


TAG:

 

评分:0

我来说两句

Open Toolbar