一、Perfmon简介
Perfmon(Performance Monitor)是一款Windows自带的性能监控工具,提供了图表化的系统性能实时监视器、性能日志和警报管理。通过添加性能计数器(Performance Counter)可以实现对CPU、内存、网络、磁盘、进程等多类对象的上百个指标的监控。其中,性能日志可定义输出格式为二进制文件、文本文件、SQLSERVER记录等,以方便后续使用第三方工具进行分析。
二、Perfmon的启用和监控设置
Perfmon使用方法:
2.1 Windows开始中输入perfmon后回车,即可打开perfmon.exe
2.2 点击性能监视器;
2.3 在右窗格中单击右键,然后单击“添加计数器”;或点击监控图上方的"+"也可以打开添加计数器的窗口;
2.4 在性能对象列表中,选择所需的性能指标计数器类别,以在Perfmon.exe中显示对应指标的监控图形,然后单击【添加】-->【确认】
2.5 在计数器勾选区域:
选中监控图底部的某个计数器,右键【属性】,可编辑该计数器的线条颜色、宽度等样式
2.6 通过切换点击不同的计数器类别,可实时观察到所统计的【最新值、平均值、最小值、最大值、持续时间】
2.7 在监控图区域
右键【属性】,可设置采样的持续时间(默认100s)、每间隔多少时间采样一次
右键【图形另存为】,可将本地性能监控的采样图保存到本地
右键【清除】,可将当前监控上的采样图清空,而后从左至右继续开始新的采样图
三、性能分析方法
1.内存分析方法
内存分析:用于判断系统有无内存瓶颈,是否需要通过增加内存等手段提高系统性能表现
内存分析的主要方法和步骤:
(1)首先查看Memory:% Commitued Bytes in Use
指标
如果该指标数值比较大,系统可能出现了内存方面的问题,需要继续下面步骤进一步分析。
另外也可以查看Available Bytes
,如果该值小,则说明可用内存不足,存在性能瓶颈。
(2)注意Pages/sec
、Pages Read/sec
和Page Faults/sec
的值
操作系统会利用磁盘较好的方式提高系统可用内存量or提高内存的使用效率,这三个指标直接反应了操作系统进行磁盘交换的频度。
Pages/sec
值持续高于几百,可能有内存问题;Pages/sec
值不一定大就表明有内存问题,可能是运行使用内存映射文件的程序所致。
Page Faults/sec
说明每秒发生页面失效次数,页面失效次数越多,说明操作系统向内存读取的次数越多。此时需要查看Pages Read/sec
的计数值,该计数器的阀值为5,如果计数值>5,则可以判断存在内存方面的问题。
2.处理器分析法
(1)首先看System:% Total Processor Time
性能计数器的计数值
该计数器的数值体现服务器整体处理器的利用率,对多处理器的系统而言,该计数器体现的是所有CPU的平均利用率。如果该值持续超过90%,则说明整个系统面临着处理器方面的瓶颈,需要通过增加处理器来提高性能。
(2)其次查看每个CPU的% User Time
%User Time
是系统的非核心操作消耗的CPU时间,如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器是数据库服务器,%User Time
值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。
(3)研究系统处理器瓶颈:查看System:Processor Queue Length
计数器的值
当该计数器的值 > (CPU数量的总数+1)时,说明产生了处理器阻塞。在处理器的% Process Time
很高时,一般都随处理器阻塞,但产生处理器阻塞时,Processor:%Process Time
计数器的值并不一定很大,此时就必须查找处理器阻塞的原因。
3.磁盘I/O分析方法
(1)计算每磁盘的IO数
每磁盘的I/O数可用来与磁盘的I/O能力进行对比,如果经过计算得到的每磁盘I/O数超过了磁盘标称的I/O能力,则说明确实存在磁盘的性能瓶颈。
4.网络分析方法
(1)Network Interface:Bytes Total/sec
Bytes Total/sec
为发送和接收字节的速率,可以通过该计数器值来判断网络链接速度是否是瓶颈,具体操作方法是用该计数器的值和目前网络的带宽进行比较。