Windows性能监控工具Perfmon的使用、性能指标分析
目录结构
一、Perfmon简介、性能监控指标、性能对象指标
1.常用的性能监控指标
2.常用的性能对象与指标
二、Perfmon的启用和监控设置
三、性能分析方法
1.内存分析方法
2.处理器分析法
3.磁盘I/O分析方法
一、Perfmon简介、性能监控指标、性能对象指标
Perfmon:提供了图表化的系统性能实时监视器、性能日志和警报管理,可用于监视CPU使用率、内存使用率、硬盘读写速度、网络速度等,可以很方便地使用第三方工具进行性能分析。
1.常用的性能监控指标
Perfmon性能监控对象总共有上百个性能指标,我们关注一个系统的性能时,不可能关注这么多指标,有些性能指标对实际的应用系统影响并不大。但对一个Windows操作系统来说,CPU、内存(Memory)、磁盘(Disk)、网络(Network)等关键对象是性能监控中必不可少的项。
2.常用的性能对象与指标
| 性能对象 | 计数器 | 提供的信息 |
|---|---|---|
| Processor | % ldle Time | 处理器在采样期间空闲时间的百分比 |
| Processor | % Processor Time |
指处理器用来执行非闲置线程时间的百分比。 (CPU占用率) |
| Processor | % User Time | 处理器处于用户模式的时间百分比 |
| Memory | Available Bytes | 显示出当前空闲的物理内存总量。 该数值↓,说明Windows开始频繁地调用磁盘页面文件;该数值<5MB时,系统会将Available Memory Bytes的大部分时间消耗在操作页面文件上 |
| Memory | % Committed Bytes In Use |
内存使用百分比,[Compitted Bytes / Commit Limit]的比值 |
| Memory | Page Faults/sec | 指处理器处理错误页的综合速率,[错误页数/s]来计算 |
| Network Interface | Bytes Total/sec |
发送和接收字节的速率,包括帧字符在内 |
| Network Interface | Packets/sec | 发送和接收数据包的速率 |
| Physical Disk | % Busy Time |
磁盘驱动器忙于为读or写入请求提供服务所用时间的百分比。 若该数值比较大,则硬盘有可能是瓶颈 |
| Physical Disk | Avg. Disk Queue Length | 磁盘队列的平均长度。磁盘完成对读取和写入请求的处理时间,磁盘数据吞吐量的外在表现 |
| Physical Disk | Current Disk Queue Length | 在收集操作数据时,磁盘上未完成的请求数目 |
以上的4个指标比较关键:% Processor Time% Committed Bytes In UseBytes Total/sec% Busy Time
二、Perfmon的启用和监控设置
Perfmon 使用方法:
1.开始输入perfmon后回车,即可打开perfmon.exe

2.在perfmon.exe的左窗格中,单击【系统监视器】

3.在右窗格中单击右键,然后单击【添加计数器】

or 点击监控图上方的【+】也可以打开添加计数器的窗口

4.在“性能对象”列表中,选择所需的性能指标计数器类别,以在Perfmon.exe中显示对应指标的监控图形,然后单击【添加】-->【确认】


在计数器勾选区域:
选中监控图底部的某个计数器,右键【属性】,可编辑该计数器的线条颜色、宽度等样式

通过切换点击不同的计数器类别,可实时观察到所统计的【最新值、平均值、最小值、最大值、持续时间】

在监控图区域:
右键【属性】,可设置采样的持续时间(默认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能力,则说明确实存在磁盘的性能瓶颈。
Disk sec/Transfer
根据我们之前的所有分析,这个数值是真正代表磁盘性能的。说如果该数值很高(一般超过50ms),那么应用会很明显地感受每一个交给磁盘的IO回复得很慢,也就会导致应用产生性能问题。
4.网络分析方法
(1)Network Interface:Bytes Total/secBytes Total/sec为发送和接收字节的速率,可以通过该计数器值来判断网络链接速度是否是瓶颈,具体操作方法是用该计数器的值和目前网络的带宽进行比较。
Windows性能监控工具Perfmon的使用、性能指标分析的更多相关文章
- Windows性能监控perfmon工具的使用和性能指标的分析
Windows性能监控工具perfmon的使用和性能指标分析 一.perfmon提供图表化的实时的性能监视器.性能日志.警报管理,能监控CPU的使用率.内存使用率.磁盘I/O(磁盘的读写速度).网络I ...
- 性能测试工具LoadRunner32-LR之windows性能监控Perfmon
Perfmon是啥? Perfmon提供了图表化的系统性能实时监视器.性能日志和警报管理,可以用于监视CPU使用率.内存使用率.硬盘读写速度.网络速度等 性能分析方法 内存分析方法 内存分析用于判断系 ...
- Windows服务监控工具Perfmon
原文:https://www.jianshu.com/p/f82c2b726ecf 一.Perfmon简介.性能监控指标.性能对象指标 Perfmon:提供了图表化的系统性能实时监视器.性能日志和警报 ...
- 性能监控工具以及java堆分析OOM
一.性能监控工具 1.系统性能监控 Linux -确定系统运行的整体状态,基本定位问题所在 -uptime: ------系统时间 ------运行时间(例子中为127天) ------连接数(每 ...
- ASP.NET 性能监控工具和优化技巧
转载自:http://blog.haoitsoft.com/index.php/archives/657 ASP.NET 性能监控工具和优化技巧 发表回复 为了阐明准确甄别性能问题的重要性,下面列举了 ...
- 【性能监控-Perfmon工具】Perfmon工具使用教程
一.Perfmon工具简介 Perfmon是一款Windows自带的性能监控工具,提供了图表化的系统性能实时监视器.性能日志和警报管理.通过添加性能计数器可以实现对CPU.内存.网络.磁盘.进程等多类 ...
- 你值得拥有:25个Linux性能监控工具
一.基于命令行的性能监控工具 1.dstat - 多类型资源统计工具 该命令整合了vmstat,iostat和ifstat三种命令.同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能 ...
- 25个Linux性能监控工具
一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具.在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接 ...
- JVM学习十二:JVM之性能监控工具
前面我们学习了很多JVM相关的理论知识,那么本节将重点讲述的是工具的使用,正所谓:工欲善其事,必先利其器.因此,本节介绍常用的性能监控工具,用于性能监控和问题排查. 一.系统性能监控 系统性能工具用于 ...
- Linux性能监控工具收集(转)
一.基于命令行的性能监控工具 1.dstat - 多类型资源统计工具 该命令整合了vmstat,iostat和ifstat三种命令.同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能 ...
随机推荐
- GAC简述
GAC简介 GAC全称是Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly,例如System.Data.System.Windows.Forms等等. ...
- 基于socket开发网络调试助手
1.什么是Socket? 在计算机领域socket被翻译为套接字,它是计算机之间进行通信的一种方式,通过socket这种约定,一台计算机可以向另外一台计算机发送数据和接收数据. 2.Socket的本质 ...
- 数据结构篇——KMP算法
数据结构篇--KMP算法 本次我们介绍数据结构中的KMP算法,我们会从下面几个角度来介绍: 问题介绍 暴力求解 知识补充 Next示例 Next代码 匹配示例 匹配代码 完整代码 问题介绍 首先我们先 ...
- Leetcode 799.香槟塔:动态规划+递归
香槟塔:动态规划+递归 题目来源:Leetcode 22/11/20每日一题:799.香槟塔 https://leetcode.cn/problems/champagne-tower 我们把玻璃杯摆成 ...
- uniapp 实现小程序中自定义tabBar 的方法
uniapp 实现小程序中自定义tabBar 的方法 第一种方式: page.json中配置 "tabBar": { "color": "#7A7E8 ...
- C++使用ODBC连接数据库遇到的问题
C++使用ODBC连接数据库遇到的问题 1.SQL语句中包含中文无法正常执行的问题 2.字符与宽字符相互转化的问题 C++使用ODBC连接数据库遇到的问题 1.SQL语句中包含中文无法正常执行的问题 ...
- feDisplacementMap滤镜实现水波纹效果,计算动态值。
参考资料 https://www.zhangxinxu.com/wordpress/2017/12/understand-svg-fedisplacementmap-filter/ 该文章已经讲的特别 ...
- java调用python脚本 并传参(根据配置文件获取python文件地址)
方式一: Java代码 package com.mybatis.plus.utils; import cn.hutool.core.lang.Console; import java.io.Buffe ...
- day36-ThreadLocal
ThreadLocal 线程数据共享和安全 1.什么是ThreadLocal? ThreadLocal的作用,可以实现在同一个线程数据共享,从而解决多线程数据安全问题 当http请求发送到Tomcat ...
- Django AttributeError: 'BugDeserializer' object has no attribute '_meta'
BugDeserializer 对象中没有 '_meta' 属性,定位到调用BugDeserializer位置, 用于序列化时,将模型类对象传入instance参数 在update时,数据传入有误,更 ...