Windows性能监控工具ypeperf
Posted byxdaz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于Windows性能监控工具ypeperf的主要内容,如果未能解决你的问题,请参考以下文章