1. 基本知识
该基本知识主要用来用到Performance Monitor,以下着重介绍下这方面的知识
性能监视器(Performance Monitor):Windows操作系统中的一个工具,用于监视系统的各种性能指标和资源使用情况,帮助用户了解系统的运行情况,识别性能瓶颈,并进行性能优化
其特点如下:
- 监视系统性能指标:CPU利用率、内存使用、磁盘活动、网络流量等
- 收集性能数据:配置并收集性能计数器数据,用于后续分析和报告
- 分析性能问题:监视和收集的数据,可以识别系统的瓶颈和性能问题
- 实时监控和历史数据查看:实时查看系统性能,也可查看历史数据以进行趋势分析
具体的打开方式比较简单,可以通过cmd下输入perfmon或者在控制面板中选择“管理工具”下的“性能监视器”来打开
主要组成部分:
- 性能计数器:度量系统各种指标的工具,如CPU利用率、内存使用情况、磁盘活动等
- 数据收集器:配置和管理性能数据的收集
- 报表:查看和分析收集到的性能数据
总体截图如下:
使用建议:
- 选择合适的性能计数器:根据需要监视的对象和指标,选择合适的性能计数器
- 配置数据收集器:设置适当的数据收集器,包括选择要收集的性能计数器、数据收集方法和触发器
- 实时监视和分析:实时监视系统性能,及时发现和解决性能问题
- 收集历史数据进行分析:定期收集历史数据,进行趋势分析和性能优化
2. 参数说明
对于CPU的监视,具体参数如下:
- Processor/% Processor Time:(通常设为85%)
表示处理器活动的主要指标,即处理器的使用率,与处理器相关的计数器(如% Privileged Time或Processor Queue Length)也线性增加,则表示可能存在性能问题 - Processor/% Privileged Time:(持续大于75%可能表示存在瓶颈)
在特权模式下执行的时间比例。当程序调用操作系统方法时(如文件操作、网络I/O或内存分配),这些方法在特权模式下运行 - Processor/% Interrupt Time:(取决于处理器)
处理器用于处理硬件中断的时间比例。高值间接指示硬件设备活动,如网络变化。若此计数器显著增加,则可能表示硬件存在问题。 - System/Processor Queue Length:(平均值持续大于2表示可能存在CPU瓶颈)
处理器队列中等待执行的线程数量。持续或反复出现2个以上的队列可能表示存在处理器瓶颈。 - System/Context Switches/sec:(小于5000/秒/CPU的Context Switch速率是可接受的。若达到15000/秒/CPU,则可能成为制约因素)
当高优先级线程替换正在运行的低优先级线程,或者高优先级线程被阻塞时,会发生Context Switch。大量的Context Switch可能表示有太多线程竞争CPU
对于内存的监视,具体参数如下:
- Pages/sec:每秒处理的页面数,包括输入和输出(推荐在0到20之间,超过80可能表示内存问题)
页面错误是处理器请求的一页内存出现错误时发生的情况
软错误发生在内存中的其他位置
硬错误需要从硬盘重新读取。高的读取速率可能表示内存不足 - Available Bytes:显示当前可用的物理内存总量
该值表示当前可用的物理内存,包括空闲内存、清零内存和待机内存
低值可能导致频繁调用磁盘页面文件,影响系统性能 - Committed Bytes:确认虚拟内存的字节数
保留在磁盘页面文件上的虚拟内存空间的物理内存。超过物理内存的75%可能会导致系统性能问题
对于磁盘性能的监视,具体参数如下:
- % Disk Time:所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比(正常情况下应该低于10%)
高于正常值的% Disk Time表示磁盘耗费过多时间来访问,可能需要增加内存、更换更快的硬盘或优化读写数据算法
持续超过80%的值可能暗示着内存泄漏 - Current Disk Queue Length:收集性能数据时磁盘上当前的请求数量
瞬间的快照,反映了当前的请求队列长度,但如果磁盘驱动器被迫持续运行,则可能会一直处于高的状态
较高的队列长度可能会导致请求的延迟增加 - Avg.Disk Queue Length / Avg. Disk Read Queue Length / Avg. Disk Write Queue Length:表示读取和写入请求的平均排队长度。
正常值应该低于0.5,如果过高则表示磁盘IO速度太慢,可能需要更换更快的硬盘