Windows性能监控工具ypeperf

       Windows的性能监控,目前主要有两种方式。一种是wmi协议:即通过Windows管理接口,获取性能计数器的值进行监控,比如使用libpcap开源库;另一种则是命令行工具typeperf,下面我们将详细介绍此种方式。

一、typeperf 命令用法

typeperf 命令将性能数据写入命令窗口或日志文件。 若要停止 typeperf,请按 CTRL+C。

语法

typeperf <counter [counter ...]> [options]

typeperf -cf <filename> [options]

typeperf -q [object] [options]

typeperf -qx [object] [options]

参数

参数

说明

<counter [counter […]]>

指定要监视的性能计数器。 参数 <counter> 是 \Computer\Object (Instance) \Counter 格式(如 )的性能计数器的全名 \\Server1\Processor(0)\% User Time

选项

选项

说明

-f <CSV | TSV | BIN | SQL>

指定输出文件格式。 默认值为 CSV。

-cf <filename>

指定包含要监视的性能计数器列表的文件,每行一个计数器。

-si <[[hh:]mm:]ss>

指定采样间隔。 默认值为一秒。

-o <filename>

指定输出文件或数据库SQL路径。 默认值为 STDOUT (写入命令窗口) 。

-q [object]

显示已安装计数器的列表, (实例) 。 若要列出一个对象的计数器,请包括对象名称。 例子

-qx [object]

显示具有 实例的已安装计数器的列表。 若要列出一个对象的计数器,请包括对象名称。

-sc <samples>

指定要收集的样本数。 默认设置是收集数据,直到按 CTRL+C。

-config <filename>

指定包含命令选项的设置文件。

-s <computer_name>

指定在计数器路径中未指定计算机时要监视的远程计算机。

-y

在 无提示 的情况下回答所有问题的"是"。

/?

在命令提示符下显示帮助。

示例

若要将本地计算机 \Processor(_Total)\% Processor Time 的性能计数器的值写入命令窗口(默认采样间隔为 1 秒,直到按 CTRL+C),请键入:

typeperf \Processor(_Total)\% Processor Time

若要以 5 秒的采样间隔将文件 counters.txt 中的计数器列表的值写入制表符分隔的文件 domain2.tsv ,直到收集 50 个样本,请键入:

typeperf -cf counters.txt -si 5 -sc 50 -f TSV -o domain2.tsv

若要使用计数器对象 PhysicalDisk 的实例查询已安装的计数器,将生成的列表写入 counters.txt,请 键入:

typeperf -qx PhysicalDisk -o counters.txt

二、CPU使用率统计

cpu使用率命令:typeperf "\Processor(_Total)\% Processor Time

要收集用户态和系统态CPU使用时间,能够指定性能计数器User Time和Privileged Time。在命令提示符窗口或者cmd文件中,命令看起来是这样的:typeperf "\Processor(_Total)\% Privileged Time"

typeperf "\Processor(_Total)\% User Time"队列

三、内存使用率统计

在windows Performance Monitor中监控每秒内存页面调度(\Memory\Pages/second)、可用内存字节数(\Memory\Available MBytes),能够判断系统是否正在进行页面交换。

命令行:typeperf "\Memory\Available MBytes" "\Memory\Pages/sec"

四、网络IO使用率统计

网络接口每秒传递的字节数能够经过性能计数器\Network Interface(*)\Bytes Total/sec得到。通配符“*”表示报告的是系统全部网络接口的总字节数。

命令行:typeperf "\Network Interface(某网卡)\Bytes Total/sec"

获取网络接口的接收字节数,通过"\Network Interface(某网卡)\Bytes Received/sec"命令获取。

获取网络接口的发送字节数,通过"\Network Interface(某网卡)\Bytes Sent/sec"命令获取。

网络接口的带宽能够经过性能计数器\Network Interface(*)\Current Bandwidth得到,其中“*”应该用被监控的网络接口替换。

命令行:typeperf "\Network Interface(某网卡)\Current Bandwidth"

性能计数器Current Bandwidth的带宽单位是bits/s,相比而言,Bytes Total/sec是bytes/s。因此网络使用率的计算公式须要考虑适当的单位,bits/s或bytes/s。下面是两个网络使用率的公式:第一个是Current Bandwidth除以8变成字节,第二个是Bytes Total/sec乘以8变成比特位。

Network utilization % = (Bytes Total/sec) / (Current Bandwidth / 8) * 100

或者

Network utilization % = (Bytes Total/sec * 8) / (Current Bandwidth) * 100

五、磁盘性能统计

获取物理磁盘相关性能计数器:typeperf -qx PhysicalDisk

查询所有磁盘使用率:

typeperf  "\PhysicalDisk(*)\% Idle Time" -si 5 -sc 2

查询某个盘符对应磁盘使用率:

typeperf  "\PhysicalDisk(* D:)\% Idle Time" -si 5 -sc 2

查询平均磁盘读队列长度

typeperf  "\PhysicalDisk(_Total)\Avg. Disk Read Queue Length" -si 5 -sc 2


磁盘常见监控项:

\PhysicalDisk(_Total)\Avg. Disk Queue Length  平均磁盘队列长度( Avg. Disk Queue Length) 在采样的时间间隔中,选中的物理磁盘读请求和写请求排队的平均数量。

\PhysicalDisk(_Total)\Avg. Disk Read Queue Length  平均磁盘读队列长度( Avg. Disk Read Queue Length) 在采样的时间间隔中,选中的物理磁盘读请求排队的平均数量。

\PhysicalDisk(_Total)\Avg. Disk Write Queue Length   平均磁盘写队列长度( Avg. Disk Write Queue Length) 在采样的时间间隔中,选中的物理磁盘写请求排队的平均数量。

\PhysicalDisk(_Total)\% Disk Time  磁盘时间百分比(%Disk Time) 选中的物理磁盘忙于服务读请求或写请求总共用的时间的百分比,是磁盘写时间百分比与磁盘读时间百分比的和。

\PhysicalDisk(_Total)\% Disk Read Time    磁盘读时间百分比(%Disk Read Time) 选中的物理磁盘忙于服务读请求总共用的时间的百分比

\PhysicalDisk(_Total)\% Disk Write Time   磁盘写时间百分比(%Disk Write Time) 选中的物理磁盘忙于服务写请求总共用的时间的百分比

\PhysicalDisk(_Total)\Avg. Disk sec/Transfer  平均磁盘秒数/传输( Avg. Disk sec/Transfer) 从物理磁盘进行传输的平均时间,以秒为单位

\PhysicalDisk(_Total)\Avg. Disk sec/Read     IO响应时间 读    平均磁盘秒数/读( Avg. Disk sec/Read) 从物理磁盘读数据的平均时间,以秒为单位。

\PhysicalDisk(_Total)\Avg. Disk sec/Write     IO响应时间 写   平均磁盘秒数/写( Avg. Disk sec/Write) 向物理磁盘写数据的平均时间,以秒为单位。

\PhysicalDisk(_Total)\Disk Transfers/sec      IOPS  磁盘传输/秒(Disk Transfers/sec) 物理磁盘上的读和写操作的比率。

\PhysicalDisk(_Total)\Disk Reads/sec          IOPS 读   磁盘读/秒(Disk Reads/sec) 物理磁盘上的读操作比率。

\PhysicalDisk(_Total)\Disk Writes/sec          IOPS 写  磁盘写/秒(Disk Writes/sec) 物理磁盘上的写操作比率。

\PhysicalDisk(_Total)\Disk Read Bytes/sec       IO吞吐量  磁盘读/秒(Disk Reads Bytes/sec) 物理磁盘上每秒读字节。

\PhysicalDisk(_Total)\Disk Write Bytes/sec       IO吞吐量  磁盘写/秒(Disk Writes Bytes/sec) 物理磁盘上每秒写字节。

\PhysicalDisk(_Total)\% Idle Time   空闲时间百分比(%Idle Time) 物理磁盘在采样时间间隔中处于空闲状态的时间百分比。

六、收集数据库服务器性能统计

1、查找和数据库JinRiDomesticOrder相关的性能参数

TYPEPERF -qx "SQLServer:Databases" | FIND "JinRiDomesticOrder"  

2、查找和数据库JinRiDomesticOrder相关的性能参数并导出

TYPEPERF -qx "SQLServer:Databases" | FIND "JinRi" >>s:\perf.txt

3、perf.txt这个文本文件中读取计数器信息,将技术器数值写入到perf.csv文件中,每隔10秒钟执行一次,共执行600次

TYPEPERF -f CSV -o s:\perf.csv -si 10 -cf s:\perf.txt -sc 600

猜你喜欢

转载自blog.csdn.net/byxdaz/article/details/126782202