Windows 性能计数器相关命令汇总 完整逻辑链示例:监控与收集数据: 使用 Perfmon 或 Logman 来收集性能数据。实时跟踪数据: 使用 Typeperf 来实时跟踪并输出性能数据:转换与合并数据: 使用 Relog 工具来转换数据格式或者合并多个日志文件:生成报告与分析数据: 使用 Tracerpt 来生成基于事件的报告。
重新生成性能计数器库值 - Windows Server | Microsoft Learn
(性能计数器) 新增功能 - Win32 apps | Microsoft Learn
关于性能计数器 - Win32 apps | Microsoft Learn
64 位支持 - Win32 apps | Microsoft Learn
性能计数器架构 - Win32 apps | Microsoft Learn
Windows自带性能监控工具Perfmon使用介绍 - Dr博士 - 博客园
Windows性能监视器:优化系统性能的强大工具
在日常使用Windows操作系统时,我们可能会遇到系统卡顿或响应慢的情况。为了有效诊断这些问题,Windows内置的性能监视器(Performance Monitor)是一款非常有用的工具。它可以帮助用户实时监控计算机的性能,提供深入的硬件和软件资源利用情况。
一、什么是Windows性能监视器?
性能监视器是Windows操作系统自带的一个管理工具,用于监视和记录计算机系统的各项性能指标。它能够提供CPU、内存、硬盘、网络等各个硬件资源的实时数据,同时也可以监控系统进程、服务以及应用程序的性能。
二、如何打开性能监视器?
-
通过开始菜单:
- 按下Win + R组合键,打开“运行”窗口。
- 输入“
perfmon”并按回车,即可打开性能监视器。
-
通过任务管理器:
- 打开任务管理器(Ctrl + Shift + Esc),点击“性能”选项卡,在底部选择“打开性能监视器”。
-
通过控制面板:
- 打开“控制面板” > “管理工具” > “性能监视器”。
三、性能监视器的主要功能
-
监控系统资源使用情况: 性能监视器能够实时显示CPU的使用率、内存占用情况、磁盘的读写速度、网络流量等信息。通过这些数据,我们可以清楚地看到系统资源的消耗情况,找出瓶颈所在。
-
数据记录与趋势分析: 性能监视器不仅能够实时查看系统资源的使用情况,还可以通过数据集功能将数据记录到文件中,生成日志文件。这使得用户可以在一段时间内对系统的表现进行趋势分析,判断是否存在潜在的性能问题。
-
自定义监控项目: 性能监视器允许用户自定义监控项目。你可以选择监视不同的计数器(如CPU的使用率、内存的可用量等),并创建自定义的监控图表来更直观地查看性能数据。
-
报警和提醒功能: 性能监视器提供了报警功能。当系统资源的使用超过了设定的阈值时,可以自动发送提醒或执行预设的操作,帮助用户及时处理潜在的问题。
四、如何使用性能监视器?
-
选择计数器: 打开性能监视器后,可以通过点击左侧的“监视工具”中的“性能监视器”来添加需要监视的计数器。常用的计数器包括:
- Processor (处理器):监视CPU的使用率。
- Memory (内存):监视内存的使用情况。
- Disk (磁盘):监视磁盘的读写速度和队列长度。
- Network Interface (网络接口):监视网络的发送和接收流量。
-
创建自定义视图: 在性能监视器界面中,可以选择添加计数器,然后选择要监控的具体项目。通过图形化界面,用户可以更方便地观察各个硬件资源的使用情况。
-
保存监控数据: 在“数据收集器集”中,可以设置自动记录和保存性能数据。通过这些日志,用户能够追踪历史的系统性能,帮助更好地进行故障排查。
-
设置报警: 在性能监视器中,还可以设置阈值警报。比如,CPU使用率超过80%时,性能监视器会自动发出警告,提醒用户及时采取措施。
五、常见的性能问题及解决方案
-
CPU使用率过高:
- 通过性能监视器查看“Processor”计数器,检查CPU使用率是否异常。如果某个进程占用了大量CPU资源,可以通过任务管理器终止不必要的进程,或者考虑优化该程序的性能。
-
内存不足:
- 通过“Memory”计数器监视内存使用情况。如果内存使用率过高,可能是由于运行的程序过多,或者某个程序存在内存泄漏。关闭不必要的程序,或者增加内存容量。
-
磁盘性能下降:
- 如果磁盘的读写速度慢,可能是硬盘空间不足或者硬盘出现故障。检查磁盘的使用情况,并定期进行磁盘碎片整理。若硬盘状态不良,应考虑更换硬盘。
-
网络瓶颈:
- 通过“Network Interface”计数器查看网络流量情况。如果发现网络带宽被过度使用,可以排查是否有大量数据传输,或者查看网络设备的配置。
Windows性能监视器是一个功能强大且易于使用的工具,能够帮助用户实时监控系统性能,诊断问题并优化系统表现。无论是个人用户还是系统管理员,都可以通过它了解计算机的运行状态,快速发现并解决性能瓶颈。通过合理的配置与监控,系统的稳定性与效率可以得到显著提升。
在 Windows 操作系统中,性能监视和日志管理工具提供了一系列命令和工具,用于收集、分析和管理性能计数器数据。以下是 perfmon, logman, typeperf, lodctr, unlodctr, Relog, tracerpt 等命令和工具的完整逻辑链及其功能概述:
1. Perfmon (Performance Monitor)
- 功能: Perfmon 是 Windows 中的图形界面工具,用于查看和分析实时性能数据。
- 用法: 启动 Perfmon 来查看和管理性能计数器。
- 启动命令:
perfmon - 添加计数器、创建数据收集器、设置警报等。
- 启动命令:
Windows性能计数器分类表
系统核心资源
| 性能计数器对象 | 中文描述 |
|---|---|
| Memory | 物理内存和虚拟内存的使用情况 |
| Paging File | 页面文件(虚拟内存)的使用情况,包括使用量和峰值 |
| Processor | 处理器的整体利用率,显示CPU的繁忙程度 |
| Processor Information | 处理器的详细信息,包括频率、状态、特性等 |
| Processor Performance | 处理器的性能指标,如时钟频率、空闲时间等 |
| System | 系统范围的资源使用情况,如处理器队列长度、上下文切换 |
| Objects | 系统对象(如进程、线程、事件)的数量 |
| Synchronization | 系统同步对象的统计信息 |
| SynchronizationNuma | NUMA感知的同步对象统计信息 |
| NUMA Node Memory | NUMA节点内存的分配和使用情况 |
存储系统
| 性能计数器对象 | 中文描述 |
|---|---|
| PhysicalDisk | 物理硬盘(如C盘、D盘)的I/O性能,包括读写速度、队列长度和延迟 |
| LogicalDisk | 逻辑磁盘分区(如C盘)的空间和I/O性能 |
| FileSystem Disk Activity | 文件系统(如NTFS)的磁盘活动 |
| Ntfs Bucketized Performance | 按桶统计的NTFS文件系统元数据操作延迟 |
| ReFS | 弹性文件系统的通用性能指标 |
| ReFS Bucketized Performance | 按桶统计的ReFS性能详细数据,用于深入分析 |
| ReFS Dedup Perf Counters | ReFS重复数据删除功能的性能计数器 |
| ReFS Dedup Minstore Perf Counters | ReFS重复数据删除最小存储的性能计数器 |
| Storage Spaces Virtual Disk | 存储空间虚拟磁盘的性能 |
| Storage Spaces Virtual Disk lo | 存储空间虚拟磁盘的I/O性能 |
| Storage Spaces Tier | 存储空间分层的统计信息 |
| Storage Spaces Write Cache | 存储空间写入缓存的状态和效率 |
| Storage Spaces Virtual Disk Map | 存储空间虚拟磁盘的映射信息 |
| VHD Bucketized Performance | 虚拟硬盘的桶化性能统计 |
| Storport Unit Reads | Storport驱动器的读取操作统计 |
| Storport Unit Writes | Storport驱动器的写入操作统计 |
| Storport Unit Transfers | Storport驱动器的传输操作统计 |
| Storport Unit Queue | Storport驱动器的队列深度 |
| Cache | 文件系统缓存的内存使用和效率 |
网络相关
| 性能计数器对象 | 中文描述 |
|---|---|
| Network Interface | 网络接口的字节数、数据包数等基本流量 |
| Network Adapter | 网络适配器的详细流量统计 |
| Physical Network Interface Card Activity | 物理网络接口卡的实际网络流量和活动 |
| TCPv4 | IPv4的TCP连接和流量统计 |
| TCPv6 | IPv6的TCP连接和流量统计 |
| UDPv4 | IPv4的UDP数据报统计 |
| UDPv6 | IPv6的UDP数据报统计 |
| IPsec Connections | IPsec安全关联的连接数 |
| IPsec Driver | IPsec驱动器的统计信息,如字节数/数据包数 |
| TCPIP Performance Diagnostics | TCP/IP协议栈的性能诊断信息 |
| TCPIP Performance Diagnostics (Per-CPU) | 按CPU划分的TCP/IP性能诊断信息 |
| TCPIP Transport Layer Packet Drop Counters | TCP/IP传输层的数据包丢弃计数 |
| TCPIP Extended Performance Diagnostics | TCP/IP协议栈的扩展性能诊断信息 |
| QUIC Performance Diagnostics | QUIC协议的网络性能诊断信息 |
| Per Processor Network Activity Cycles | 每个处理器处理网络活动所消耗的CPU周期 |
| Per Processor Network Interface Card Activity | 按处理器划分的网络接口卡处理活动 |
进程与应用程序
| 性能计数器对象 | 中文描述 |
|---|---|
| Process | 进程的资源使用情况,如CPU、内存、I/O |
| Process V2 | 进程的详细资源使用情况(版本2),如CPU、内存、句柄数 |
| Thread | 线程的执行状态,如CPU时间、状态切换 |
| Job Object | 作业对象的总体资源使用情况 |
| Job Object Details | 作业对象中每个进程的详细资源使用情况 |
| User Input Delay per Process | 每个进程的用户输入延迟 |
| User Input Delay per Session | 每个会话的用户输入延迟 |
| Security Per-Process Statistics | 每个进程的安全相关统计信息 |
.NET框架
| 性能计数器对象 | 中文描述 |
|---|---|
| .NET CLR Memory | .NET托管堆的内存使用和垃圾回收情况 |
| .NET CLR Exceptions | .NET应用程序抛出的异常数量 |
| .NET CLR Jit | .NET实时编译器的活动和性能 |
| .NET CLR Loading | .NET程序集和类的加载与卸载情况 |
| .NET CLR LocksAndThreads | .NET应用程序中线程和锁争用的情况 |
| .NET CLR Interop | .NET与COM组件等互操作的性能 |
| .NET CLR Data | .NET公共语言运行时的数据访问性能 |
| .NET CLR Networking | .NET应用程序的网络活动 |
| .NET CLR Networking 4.0.0.0 | .NET Framework 4.0应用程序的网络活动 |
| .NET CLR Remoting | .NET远程处理的性能 |
| .NET CLR Security | .NET安全检查的性能 |
| .NET Data Provider for SqlServer | .NET用于SQL Server数据库的数据提供程序的性能 |
| .NET Data Provider for Oracle | .NET用于Oracle数据库的数据提供程序的性能 |
| .NET Memory Cache 4.0 | .NET Framework 4.0内存缓存的性能 |
服务与组件
| 性能计数器对象 | 中文描述 |
|---|---|
| Server | 服务器服务(LanmanServer)的资源使用情况,如文件会话数 |
| Server Work Queues | 服务器工作队列的长度,反映服务器处理请求的压力 |
| SMB Server | 服务器消息块协议服务器的性能 |
| SMB Client Shares | 服务器消息块客户端访问的共享资源情况 |
| SMB Server Sessions | SMB服务器会话的数量和状态 |
| SMB Server Shares | SMB服务器共享的访问情况 |
| SMB Direct | 通过RDMA实现的SMB直接传输的性能 |
| Redirector | 重定向器(网络客户端)的活动,如文件读写操作 |
| Browser | 网络浏览器服务的统计信息 |
| Print Queue | 打印队列中的作业数量和其他状态信息 |
| Telephony | 电话服务的性能和状态 |
安全相关
| 性能计数器对象 | 中文描述 |
|---|---|
| Security System-Wide Statistics | 系统范围的安全事件和统计信息 |
| LSA Lookups | 本地安全机构的查找操作次数 |
| Netlogon | Netlogon服务的认证请求和流量 |
| Authorization Manager Applications | 授权管理器应用程序的策略和存储信息 |
| WFP | Windows筛选平台的通用统计信息 |
| WFPv4 | IPv4的Windows筛选平台统计信息 |
| WFPv6 | IPv6的Windows筛选平台统计信息 |
| WFP分类 | WFP分类操作的统计信息 |
| WFP筛选器计数 | WFP筛选器的数量 |
| WFP筛选器大小 | WFP筛选器的大小 |
| WFP重新授权 | WFP重新授权操作的统计信息 |
虚拟化与远程服务
| 性能计数器对象 | 中文描述 |
|---|---|
| Hyper-V Hypervisor | Hyper-V管理程序的逻辑处理器使用情况 |
| Hyper-V Hypervisor Logical Processor | Hyper-V管理程序逻辑处理器的详细性能 |
| Hyper-V Hypervisor Root Virtual Processor | Hyper-V根分区的虚拟处理器性能 |
| Hyper-V Hypervisor Root Partition | Hyper-V根分区的内存和设备访问统计 |
| Hyper-V Dynamic Memory Integration Service | Hyper-V动态内存集成服务的状态 |
| Hyper-V Virtual Machine Bus Pipes | Hyper-V虚拟机总线管道的吞吐量和延迟 |
| Terminal Services | 终端服务(远程桌面服务)的会话和用户信息 |
| Terminal Services Session | 特定终端服务会话的资源使用情况 |
| RemoteFX Graphics | RemoteFX远程图形处理的性能 |
| RemoteFX Network | RemoteFX网络适配器的活动 |
| RAS | 远程访问服务的连接和端口状态 |
| RAS Port | 远程访问服务单个端口的统计信息 |
| RAS Total | 远程访问服务的总体统计信息 |
硬件与电源
| 性能计数器对象 | 中文描述 |
|---|---|
| GPU Engine | GPU引擎(如3D、视频解码)的利用率 |
| GPU Adapter Memory | GPU适配器的总内存使用情况 |
| GPU Local Adapter Memory | GPU本地适配器内存的使用情况 |
| GPU Non Local Adapter Memory | GPU非本地适配器内存的使用情况 |
| GPU Process Memory | 特定进程使用的GPU内存 |
| Battery Status | 笔记本电脑电池的剩余电量和状态 |
| Power Meter | 电源计信息,用于监控系统的功耗 |
| Energy Meter | 能量计读数,监控系统能耗 |
| Thermal Zone Information | 系统热区域(温度)信息 |
| USB | USB总线和设备的活动 |
| XHCI TransferRing | xHCI USB控制器传输环的统计信息 |
| XHCI Interrupter | xHCI USB控制器中断器的统计信息 |
| XHCI CommonBuffer | xHCI USB控制器公共缓冲区的统计信息 |
| 蓝牙设备 | 已配对蓝牙设备的无线电信号强度和其他信息 |
| 蓝牙无线收发器 | 蓝牙无线电收发器的统计信息 |
数据库与事务
| 性能计数器对象 | 中文描述 |
|---|---|
| Database | 数据库引擎(例如Extensible Storage Engine)的通用性能指标 |
| Database ==> Instances | 数据库实例的I/O和缓存性能 |
| Database ==> TableClasses | 数据库表类的操作统计 |
| 数据库==>数据库 | 数据库引擎(例如Extensible Storage Engine)的通用性能指标 |
| Distributed Transaction Coordinator | 分布式事务协调器的事务统计信息 |
| 性能计数器对象 | 中文描述 |
|---|---|
| Paging File | 页面文件(虚拟内存)的使用情况,包括使用量和峰值。 |
| Per Processor Network Activity Cycles | 每个处理器处理网络活动所消耗的CPU周期。 |
| PhysicalDisk | 物理硬盘(如C盘、D盘)的I/O性能,包括读写速度、队列长度和延迟。 |
| Physical Network Interface Card Activity | 物理网络接口卡的实际网络流量和活动。 |
| Per Processor Network Interface Card Activity | 按处理器划分的网络接口卡处理活动。 |
| Power Meter | 电源计信息,用于监控系统的功耗。 |
| PowerShell Workflow | PowerShell工作流的执行情况和状态。 |
| Print Queue | 打印队列中的作业数量和其他状态信息。 |
| Process V2 | 进程的详细资源使用情况(版本2),如CPU、内存、句柄数。 |
| Process | 进程的资源使用情况,如CPU、内存、I/O。 |
| Processor | 处理器的整体利用率,显示CPU的繁忙程度。 |
| Processor Information | 处理器的详细信息,包括频率、状态、特性等。 |
| Processor Performance | 处理器的性能指标,如时钟频率、空闲时间等。 |
| QUIC Performance Diagnostics | QUIC协议的网络性能诊断信息。 |
| RAS | 远程访问服务的连接和端口状态。 |
| RAS Port | 远程访问服务单个端口的统计信息。 |
| RAS Total | 远程访问服务的总体统计信息。 |
| Redirector | 重定向器(网络客户端)的活动,如文件读写操作。 |
| RDMA Activity | 远程直接内存访问的活动和性能。 |
| ReFS | 弹性文件系统的通用性能指标。 |
| ReFS Bucketized Performance | 按桶统计的ReFS性能详细数据,用于深入分析。 |
| ReFS Dedup Minstore Perf Counters | ReFS重复数据删除最小存储的性能计数器。 |
| RemoteFX Graphics | RemoteFX远程图形处理的性能。 |
| ReFS Dedup Perf Counters | ReFS重复数据删除功能的性能计数器。 |
| RemoteFX Network | RemoteFX网络适配器的活动。 |
| Security Per-Process Statistics | 每个进程的安全相关统计信息。 |
| Server | 服务器服务(LanmanServer)的资源使用情况,如文件会话数。 |
| Security System-Wide Statistics | 系统范围的安全事件和统计信息。 |
| Server Work Queues | 服务器工作队列的长度,反映服务器处理请求的压力。 |
| ServiceModelEndpoint 4.0.0.0 | .NET Framework 4.0中WCF服务端点的性能指标。 |
| SMB Client Shares | 服务器消息块客户端访问的共享资源情况。 |
| ServiceModelService 4.0.0.0 | .NET Framework 4.0中WCF服务的性能指标。 |
| ServiceModelOperation 4.0.0.0 | .NET Framework 4.0中WCF服务操作的性能指标。 |
| SMB Direct | 通过RDMA实现的SMB直接传输的性能。 |
| SMB Server | 服务器消息块协议服务器的性能。 |
| .NET CLR Data | .NET公共语言运行时的数据访问性能。 |
| .NET CLR Exceptions | .NET应用程序抛出的异常数量。 |
| .NET CLR Interop | .NET与COM组件等互操作的性能。 |
| .NET CLR Jit | .NET实时编译器的活动和性能。 |
| .NET CLR Loading | .NET程序集和类的加载与卸载情况。 |
| .NET CLR LocksAndThreads | .NET应用程序中线程和锁争用的情况。 |
| .NET CLR Memory | .NET托管堆的内存使用和垃圾回收情况。 |
| .NET CLR Networking | .NET应用程序的网络活动。 |
| .NET CLR Networking 4.0.0.0 | .NET Framework 4.0应用程序的网络活动。 |
| .NET CLR Remoting | .NET远程处理的性能。 |
| .NET CLR Security | .NET安全检查的性能。 |
| .NET Data Provider for Oracle | .NET用于Oracle数据库的数据提供程序的性能。 |
| .NET Data Provider for SqlServer | .NET用于SQL Server数据库的数据提供程序的性能。 |
| .NET Memory Cache 4.0 | .NET Framework 4.0内存缓存的性能。 |
| AppV Client Streamed Data Percentage | App-V客户端数据流化传输的百分比。 |
| Authorization Manager Applications | 授权管理器应用程序的策略和存储信息。 |
| Battery Status | 笔记本电脑电池的剩余电量和状态。 |
| BITS Net Utilization | 后台智能传输服务的网络利用率。 |
| Browser | 网络浏览器服务的统计信息。 |
| Cache | 文件系统缓存的内存使用和效率。 |
| Client Side Caching | 客户端缓存(脱机文件)的活动和状态。 |
| Database | 数据库引擎(例如Extensible Storage Engine)的通用性能指标。 |
| Database ==> Instances | 数据库实例的I/O和缓存性能。 |
| DC Locator (Netlogon) | 域控制器定位器服务(Netlogon)的调用情况。 |
| DC Locator (DC) | 在域控制器端记录的定位器活动。 |
| DC Locator (Client) | 在客户端记录的域控制器定位活动。 |
| Database ==> TableClasses | 数据库表类的操作统计。 |
| Distributed Transaction Coordinator | 分布式事务协调器的事务统计信息。 |
| DNS64 Global | DNS64服务的全局统计信息。 |
| Energy Meter | 能量计读数,监控系统能耗。 |
| Event Log | Windows事件日志的大小和操作。 |
| Event Log Subscriptions | 事件日志订阅的活动和状态。 |
| Event Tracing for Windows | Windows事件追踪的活动和性能。 |
| Event Tracing for Windows Session | 特定ETW会话的缓冲区和日志记录活动。 |
| ForwardedEvents | 转发到此计算机的事件日志的大小和活动。 |
| FileSystem Disk Activity | 文件系统(如NTFS)的磁盘活动。 |
| Generic IKEv1, AuthlP, and IKEv2 | IKEv1, AuthIP和IKEv2协议的通用统计信息。 |
| GPU Engine | GPU引擎(如3D、视频解码)的利用率。 |
| GPU Adapter Memory | GPU适配器的总内存使用情况。 |
| GPU Local Adapter Memory | GPU本地适配器内存的使用情况。 |
| HTTP Service | HTTP服务的基本请求和连接信息。 |
| GPU Process Memory | 特定进程使用的GPU内存。 |
| GPU Non Local Adapter Memory | GPU非本地适配器内存的使用情况。 |
| HTTP Service Request Queues | HTTP服务请求队列的长度和状态。 |
| HTTP Service Url Groups | HTTP服务URL组的请求和流量统计。 |
| Hyper-V Dynamic Memory Integration Service | Hyper-V动态内存集成服务的状态。 |
| Hyper-V Hypervisor | Hyper-V管理程序的逻辑处理器使用情况。 |
| Hyper-V Hypervisor Logical Processor | Hyper-V管理程序逻辑处理器的详细性能。 |
| Hyper-V Hypervisor Root Virtual Processor | Hyper-V根分区的虚拟处理器性能。 |
| Hyper-V Hypervisor Root Partition | Hyper-V根分区的内存和设备访问统计。 |
| Hyper-V Virtual Machine Bus Pipes | Hyper-V虚拟机总线管道的吞吐量和延迟。 |
| ICMP | IPv4的ICMP协议消息统计(如Ping)。 |
| ICMPv6 | IPv6的ICMPv6协议消息统计。 |
| IPHTTPS Global | IP-HTTPS协议的全局统计信息。 |
| IPsec AuthlP IPv6 | IPv6的AuthIP认证协议统计信息。 |
| IPsec AuthlP IPv4 | IPv4的AuthIP认证协议统计信息。 |
| IPHTTPS Session | IP-HTTPS协议的会话统计信息。 |
| IPsec Connections | IPsec安全 |
| 项目 | 描述 |
|---|---|
| IPsec Connections | IPsec安全关联的连接数。 |
| IPsec IKEv1 IPv6 | IPv6的IKEv1协议统计信息。 |
| IPsec IKEv1 IPv4 | IPv4的IKEv1协议统计信息。 |
| IPsec Driver | IPsec驱动器的统计信息,如字节数/数据包数。 |
| IPsec DoS Protection | IPsec抗拒绝服务保护的统计信息。 |
| IPsec IKEv2 IPv4 | IPv4的IKEv2协议统计信息。 |
| IPsec IKEv2 IPv6 | IPv6的IKEv2协议统计信息。 |
| IPv4 | IPv4协议的数据流统计,如数据包数。 |
| IPv6 | IPv6协议的数据流统计,如数据包数。 |
| Job Object | 作业对象的总体资源使用情况。 |
| Job Object Details | 作业对象中每个进程的详细资源使用情况。 |
| LogicalDisk | 逻辑磁盘分区(如C盘)的空间和I/O性能。 |
| Ldap Client | LDAP客户端会话的统计信息。 |
| KPSSVC | 密钥云服务(KPS)的性能计数器。 |
| LSA Lookups | 本地安全机构的查找操作次数。 |
| Memory | 物理内存和虚拟内存的使用情况。 |
| Microsoft Winsock BSP | Microsoft Winsock基础服务提供程序的活动。 |
| Netlogon | Netlogon服务的认证请求和流量。 |
| NBT Connection | NetBIOS over TCP/IP连接的网络使用情况。 |
| MSDTC Bridge 4.0.0.0 | MSDTC桥接器(4.0.0.0)的性能计数器。 |
| MPTF Information | 媒体保护技术框架(MPTF)的信息。 |
| Network Adapter | 网络适配器的详细流量统计。 |
| Network QoS Policy | 网络服务质量策略的统计信息。 |
| Network Interface | 网络接口的字节数、数据包数等基本流量。 |
| Ntfs Bucketized Performance | 按桶统计的NTFS文件系统元数据操作延迟。 |
| Objects | 系统对象(如进程、线程、事件)的数量。 |
| 项目 | 描述 |
|---|---|
| NUMA Node Memory | NUMA节点内存的分配和使用情况。 |
| Offline Files | 脱机文件(客户端缓存)的活动和状态。 |
| Pacer Flow | 数据包调度程序的流统计信息。 |
| Pacer Pipe | 数据包调度程序的管道统计信息。 |
| PacketDirect EC Utilization | PacketDirect事件完成机制的利用率。 |
| PacketDirect Transmit Counters | PacketDirect的发送计数器。 |
| PacketDirect Receive Filters | PacketDirect的接收过滤器统计。 |
| PacketDirect Receive Counters | PacketDirect的接收计数器。 |
| PacketDirect Queue Depth | PacketDirect的队列深度。 |
| SMB Server Sessions | SMB服务器会话的数量和状态。 |
| SMSvcHost 4.0.0.0 | SMSvcHost(4.0.0.0)的性能计数器。 |
| SMB Server Shares | SMB服务器共享的访问情况。 |
| Storage Management WSP Spaces Runtime | 存储管理WSP空间运行时的统计信息。 |
| Storage Spaces Drt | 存储空间的DRT(分布式运行时)统计信息。 |
| Storage Spaces Tier | 存储空间分层的统计信息。 |
| Storage Spaces Virtual Disk | 存储空间虚拟磁盘的性能。 |
| Storage Spaces Virtual Disk lo | 存储空间虚拟磁盘的I/O性能。 |
| Storport Unit Writes | Storport驱动器的写入操作统计。 |
| Storport Unit Transfers | Storport驱动器的传输操作统计。 |
| Storport Unit Reads | Storport驱动器的读取操作统计。 |
| Storport Unit Queue | Storport驱动器的队列深度。 |
| Storage Spaces Write Cache | 存储空间写入缓存的状态和效率。 |
| Storage Spaces Virtual Disk Map | 存储空间虚拟磁盘的映射信息。 |
| Synchronization | 系统同步对象的统计信息。 |
| System | 系统范围的资源使用情况,如处理器队列长度、上下文切换。 |
| SynchronizationNuma | NUMA感知的同步对象统计信息。 |
| TCPIP Extended Performance Diagnostics | TCP/IP协议栈的扩展性能诊断信息。 |
| TCPIP Transport Layer Packet Drop Counters | TCP/IP传输层的数据包丢弃计数。 |
| TCPIP Performance Diagnostics (Per-CPU) | 按CPU划分的TCP/IP性能诊断信息。 |
| TCPIP Performance Diagnostics | TCP/IP协议栈的性能诊断信息。 |
| TCPv4 | IPv4的TCP连接和流量统计。 |
| Telephony | 电话服务的性能和状态。 |
| TCPv6 | IPv6的TCP连接和流量统计。 |
| Teredo Client | Teredo客户端的统计信息。 |
| Terminal Services | 终端服务(远程桌面服务)的会话和用户信息。 |
| Teredo Server | Teredo服务器的统计信息。 |
| Teredo Relay | Teredo中继的统计信息。 |
| Terminal Services Session | 特定终端服务会话的资源使用情况。 |
| Thread | 线程的执行状态,如CPU时间、状态切换。 |
| Thermal Zone Information | 系统热区域(温度)信息。 |
| UDPv4 | IPv4的UDP数据报统计。 |
| UDPv6 | IPv6的UDP数据报统计。 |
| USB | USB总线和设备的活动。 |
| User Input Delay per Process | 每个进程的用户输入延迟。 |
| User Input Delay per Session | 每个会话的用户输入延迟。 |
| WFP | Windows筛选平台的通用统计信息。 |
| WF (System.Workflow) 4.0.0.0 | 工作流(4.0.0.0)的性能计数器。 |
| VHD Bucketized Performance | 虚拟硬盘的桶化性能统计。 |
| WFP分类 | WFP分类操作的统计信息。 |
| WFP筛选器计数 | WFP筛选器的数量。 |
| WFP 筛选器大小 | WFP筛选器的大小。 |
| WFP重新授权 | WFP重新授权操作的统计信息。 |
| WFPv6 | IPv6的Windows筛选平台统计信息。 |
| WFPv4 | IPv4的Windows筛选平台统计信息。 |
| Windows Media Player Metadata | Windows Media Player元数据获取性能。 |
| WinNAT | Windows NAT驱动程序的统计信息。 |
| Windows Time Service | Windows时间服务的同步质量和状态。 |
| WinNAT ICMP | WinNAT的ICMP协议统计信息。 |
| WinNAT Instance | WinNAT实例的统计信息。 |
| WMI Objects | WMI对象(如命名空间、类实例)的操作统计。 |
| WinNAT UDP | WinNAT的UDP协议统计信息。 |
| WinNAT TCP | WinNAT的TCP协议统计信息。 |
| WMIPrvSE Health Status | WMI提供程序主机进程的健康状态。 |
| Work Unit | 工作单元(如Hyper-V相关工作)的统计信息。 |
| WorkflowServiceHost 4.0.0.0 | Workflow服务主机(4.0.0.0)的性能计数器。 |
| WSMan Quota Statistics | WS-Management服务的配额统计信息。 |
| XHCI TransferRing | xHCI USB控制器传输环的统计信息。 |
| XHCI Interrupter | xHCI USB控制器中断器的统计信息。 |
| XHCI CommonBuffer | xHCI USB控制器公共缓冲区的统计信息。 |
| {115b92b4-7191-491a-a9b5-93c8e9fb641b} -按存储的防火墙规则数 | 按存储位置统计的防火墙规则数量。 |
| 按配置文件排查的防火墙规则数 | 按不同防火墙配置文件(域、专用、公用)分类的规则数量。 |
| 数据库==>数据库 | 数据库引擎(例如Extensible Storage Engine)的通用性能指标。 |
| 蓝牙设备 | 已配对蓝牙设备的无线电信号强度和其他信息。 |
| 蓝牙无线收发器 | 蓝牙无线电收发器的统计信息。 |
| 远程桌面连接代理重定向程序Counterset | 远程桌面连接代理重定向程序的性能计数器集。 |
2. Logman (Performance Logs and Alerts)
- 功能: Logman 是命令行工具,用于管理和配置性能日志和警报。
- 用法: 创建和管理性能日志和警报,包括定期收集性能数据的功能。
- 创建数据收集器:
Copy Code
logman create counter MyLog -c "\Processor(_Total)\% Processor Time" -o C:\logs\log1.blg - 启动数据收集器:
Copy Code
logman start MyLog - 停止数据收集器:
Copy Code
logman stop MyLog
- 创建数据收集器:
3. Typeperf
- 功能: Typeperf 是一个命令行工具,用于实时跟踪和记录性能计数器数据,输出到屏幕或文件中。
- 用法:
- 输出性能计数器数据到 CSV 文件:
Copy Code
typeperf "\Processor(_Total)\% Processor Time" -o C:\logs\performance.csv - 输出实时性能数据:
Copy Code
typeperf "\Memory\Available MBytes"
- 输出性能计数器数据到 CSV 文件:
4. Lodctr (Load Counters)
- 功能: Lodctr 用于加载自定义性能计数器,适用于自定义应用程序或服务。
- 用法:
- 加载计数器配置文件:
Copy Code
lodctr C:\path\to\custom.cnt - 查看加载的计数器:
Copy Code
lodctr /?
- 加载计数器配置文件:
5. Unlodctr (Unload Counters)
- 功能: Unlodctr 用于卸载自定义性能计数器。
- 用法:
- 卸载自定义性能计数器:
Copy Code
unlodctr C:\path\to\custom.cnt
- 卸载自定义性能计数器:
6. Relog (Relogger)
- 功能: Relog 是一个用于转换、重新处理、过滤和合并性能日志的工具。它可以将现有日志文件转换为不同格式,或将多个日志文件合并为一个文件。
- 用法:
- 从 CSV 文件转换为 BLG 文件:
Copy Code
relog input.csv -o output.blg - 合并多个日志文件:
Copy Code
relog file1.blg file2.blg -o combined.blg - 生成报告:
Copy Code
relog logfile.blg -cf counters.txt -f csv -o output.csv
- 从 CSV 文件转换为 BLG 文件:
7. Tracerpt (Trace Report)
- 功能: Tracerpt 是一个分析工具,用于生成从 ETW (Event Tracing for Windows) 跟踪中获取的事件数据的报告。
- 用法:
- 将 ETL 文件转换为报告(XML 格式):
Copy Code
tracerpt logfile.etl -o logreport.xml -of XML - 生成详细报告并输出总结信息:
Copy Code
tracerpt logfile.etl -o logreport.xml -of XML -lr -summary logsummary.txt -report logreport.xml - 生成基于计数器的报告:
Copy Code
tracerpt logfile.etl counterfile.blg -report report.xml -df schema.xml
- 将 ETL 文件转换为报告(XML 格式):
完整逻辑链示例
- 监控与收集数据:
- 使用 Perfmon 或 Logman 来收集性能数据。
- 示例: 使用 logman 创建一个数据收集器来监视 CPU 使用率:
bashCopy Code
logman create counter MyCounter -c "\Processor(_Total)\% Processor Time" -o C:\logs\cpu.blg
- 示例: 使用 logman 创建一个数据收集器来监视 CPU 使用率:
- 使用 Perfmon 或 Logman 来收集性能数据。
- 实时跟踪数据:
- 使用 Typeperf 来实时跟踪并输出性能数据:
- 示例: 使用 typeperf 输出内存的可用空间数据:
bashCopy Code
typeperf "\Memory\Available MBytes" -o C:\logs\memory.csv
- 示例: 使用 typeperf 输出内存的可用空间数据:
- 使用 Typeperf 来实时跟踪并输出性能数据:
- 转换与合并数据:
- 使用 Relog 工具来转换数据格式或者合并多个日志文件:
- 示例: 将多个日志文件合并:
bashCopy Code
relog cpu.blg memory.blg -o combined.blg
- 示例: 将多个日志文件合并:
- 使用 Relog 工具来转换数据格式或者合并多个日志文件:
- 生成报告与分析数据:
- 使用 Tracerpt 来生成基于事件的报告。
- 示例: 将 ETL 文件转换为 XML 格式的报告:
bashCopy Code
tracerpt logfile.etl -o report.xml -of XML
- 示例: 将 ETL 文件转换为 XML 格式的报告:
- 使用 Tracerpt 来生成基于事件的报告。
通过这些工具的组合,可以实现对系统性能的全面监控、日志收集、数据分析和报告生成,帮助用户更好地理解和优化系统性能。
在 Windows 操作系统中,性能计数器(Performance Counters)是监控系统资源、性能和诊断信息的重要工具。为了管理和操作这些计数器,Windows 提供了多种命令行工具。以下是与性能计数器相关的一些主要命令和工具:
1. perfmon
perfmon 是一个图形化工具,可以查看实时性能数据、配置性能计数器以及生成和分析性能日志。虽然 perfmon 主要是一个 GUI 工具,但也可以通过命令行启动并执行某些任务。
-
启动性能监视器:
Copy Codeperfmon -
启动并指定打开的特定图表或视图:
Copy Codeperfmon /res启动性能监视器并显示资源监视器。
-
启动并打开性能日志:
Copy Codeperfmon /report启动性能监视器并生成报告。
2. logman
logman 是一个命令行工具,主要用于创建、管理和查看 Windows 性能日志。它支持多种日志类型(如性能计数器日志、事件跟踪日志等),可以在后台定期收集数据。
|
logman /? Microsoft ® Logman.exe (10.0.26100.1150) 用法: 动词: 副词: 选项(counter): 选项(trace): 选项(alert): 选项(cfg): 选项: 注意: 详细信息: 示例: |
| 命令 | 描述 |
|---|---|
logman start perf_log |
启动名为 perf_log 的性能日志记录。 |
logman update perf_log -si 10 -f csv -v mmddhhmm |
更新 perf_log,设置日志采样间隔为 10 秒,输出格式为 CSV,文件名包含时间戳。 |
logman create counter perf_log -c "\Processor(_Total)\% Processor Time" |
创建一个性能计数器,监控 \Processor(_Total)\% Processor Time。 |
logman create counter perf_log -c "\Processor(_Total)\% Processor Time" -max 10 -rf 01:00 |
创建一个性能计数器,监控 \Processor(_Total)\% Processor Time,最大记录 10 次,刷新频率为每 1 小时。 |
logman create trace trace_log -nb 16 256 -bs 64 -o c:\logfile |
创建一个跟踪日志,设置缓存大小为 16MB,最大文件大小为 256MB,缓冲区大小为 64KB,输出文件位置为 c:\logfile。 |
logman create alert new_alert -th "\Processor(_Total)\% Processor Time>50" |
创建一个告警,当 \Processor(_Total)\% Processor Time 大于 50% 时触发。 |
logman create cfg cfg_log -reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\" |
创建配置日志,使用注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ 作为配置源。 |
logman create cfg cfg_log -mgt "root\cimv2:SELECT * FROM Win32_OperatingSystem" |
创建配置日志,使用 WMI 查询 SELECT * FROM Win32_OperatingSystem 作为配置源。 |
logman query providers |
查询当前所有可用的日志提供程序。 |
logman query providers Microsoft-Windows-Diagnostics-Networking |
查询 Microsoft-Windows-Diagnostics-Networking 提供程序的详细信息。 |
logman start process_trace -p Microsoft-Windows-Kernel-Process 0x10 win:Informational -ets |
启动 process_trace,捕获 Microsoft-Windows-Kernel-Process 事件,过滤级别为 Informational。 |
logman start usermode_trace -p "Service Control Manager Trace" -ul -ets |
启动用户模式跟踪,捕获 Service Control Manager Trace 事件,使用 -ul 标志启动用户模式。 |
logman query usermode_trace -p "Service Control Manager Trace" -ul -ets |
查询用户模式跟踪信息,捕获 Service Control Manager Trace 事件。 |
logman stop usermode_trace -p "Service Control Manager Trace" -ul -ets |
停止用户模式跟踪,捕获 Service Control Manager Trace 事件。 |
logman start process_trace -p Microsoft-Windows-Kernel-Process -mode newfile -max 1 -o output%d.etl -ets |
启动 process_trace,捕获 Microsoft-Windows-Kernel-Process 事件,设置为生成多个文件,每个文件最大为 1MB,输出文件为 output%d.etl。 |
logman start "NT Kernel Logger" -o log.etl -ets |
启动 NT Kernel Logger,并将日志输出到 log.etl 文件。 |
logman start "NT Kernel Logger" -p "Windows Kernel Trace" (process,thread) -ets |
启动 NT Kernel Logger,捕获 Windows Kernel Trace 的 process 和 thread 事件。 |
-
查看现有的性能日志集合:
Copy Codelogman query -
创建性能计数器日志集合:
Copy Codelogman create counter MyLog -c "\Processor(_Total)\% Processor Time" -o "C:\PerfLogs\processor_data.blg" -f bincirc -max 100 -
启动日志收集:
Copy Codelogman start MyLog -
停止日志收集:
Copy Codelogman stop MyLog -
删除日志集合:
Copy Codelogman delete MyLog
3. typeperf
typeperf 是一个命令行工具,用于实时收集并显示性能计数器数据。它可用于简单的性能监控和日志记录,能够输出到屏幕、文件或其他日志格式。
|
typeperf /? Microsoft ® TypePerf.exe (10.0.26100.1882) Typeperf 将性能数据写入命令窗口或日志文件。要停止 Typeperf,请按 CTRL+C. 用法: 参数: 选项: 注意: 示例: |
| 命令 | 描述 |
|---|---|
typeperf "\Processor(_Total)\% Processor Time" |
收集并显示 \Processor(_Total)\% Processor Time 性能计数器的实时数据。 |
typeperf -cf counters.txt -si 5 -sc 50 -f TSV -o domain2.tsv |
使用 counters.txt 文件中的计数器,设置采样间隔为 5 秒,采样次数为 50 次,输出格式为 TSV,输出文件为 domain2.tsv。 |
typeperf -qx PhysicalDisk -o counters.txt |
查询 PhysicalDisk 性能计数器的所有可用项,并将其输出到 counters.txt 文件。 |
-
实时显示性能计数器数据:
Copy Codetypeperf "\Processor(_Total)\% Processor Time" -
将数据保存到文件:
Copy Codetypeperf "\Processor(_Total)\% Processor Time" -o "C:\PerfLogs\cpu_data.csv" -
收集多个计数器:
Copy Codetypeperf "\Processor(_Total)\% Processor Time" "\Memory\Available MBytes" -
指定时间间隔:
Copy Codetypeperf "\Processor(_Total)\% Processor Time" -si 10其中
-si 10表示每 10 秒钟记录一次数据。
4. lodctr
lodctr 是一个命令行工具,用于加载、卸载和管理 Windows 性能计数器的计数器定义文件(.ini 文件)。它通常用于安装新的计数器或修复损坏的计数器配置。
LODCTR用法:Copy Code
加载指定的 INI 文件,并更新与之关联的性能计数器 DLL。 Copy Code
加载指定的计数器文件、帮助文件,并为指定语言 ID 配置计数器。 Copy Code
创建 INI 文件的备份,保存在 Copy Code
重新加载默认的 INI 文件,并更新所有性能计数器。 Copy Code
从指定的 Copy Code
列出指定服务的性能计数器。 Copy Code
显示已加载的性能计数器。 Copy Code
显示指定服务的性能计数器。 Copy Code
启用指定服务的性能计数器。 Copy Code
禁用指定服务的性能计数器。 Copy Code
加载 XML 格式的计数器清单文件,该文件符合 v2.0 规范,并为应用程序配置性能计数器。
清单文件中的 备注:
|
-
加载计数器定义文件:
Copy Codelodctr /r该命令会重新加载系统中所有默认计数器定义。
-
加载特定的性能计数器定义文件:
Copy Codelodctr "C:\Path\To\CustomCounters.ini" -
显示当前加载的计数器:
Copy Codelodctr /s -
卸载性能计数器定义文件:
Copy Codelodctr /u
5. unlodctr
unlodctr 是 lodctr 的对立工具,用于卸载系统中的性能计数器和计数器定义。
UNLODCTR用法:Copy Code
卸载指定服务 Copy Code
卸载由指定的 XML 清单文件 Copy Code
根据提供的 GUID 卸载性能计数器。适用于 v2.0 版本。GUID 格式为 Copy Code
根据提供的 备注:
|
-
卸载指定的计数器类别:
Copy Codeunlodctr "Process"该命令将卸载 "Process" 类别下的所有性能计数器。
-
卸载所有性能计数器:
Copy Codeunlodctr /u
6. Relog
Relog 用于将性能日志转换为其他格式、筛选数据、按时间范围截取数据等。它是处理和分析性能日志的一个有力工具。
|
Relog /? Microsoft ® Relog.exe (10.0.26100.1150) Relog 通过更改采样频率和/或转换文件格式,从现有性能日志的数据创建新的性能 日志。支持所有性能日志格式,包括 Windows NT 4.0 压缩日志。 用法: 参数: 选项: 示例: |
| 命令 | 描述 |
|---|---|
relog logfile.csv -c "\Processor(_Total)\% Processor Time" -o logfile.blg |
从 logfile.csv 文件中提取 \Processor(_Total)\% Processor Time 数据并将其输出为二进制日志文件 logfile.blg。 |
relog logfile.blg -cf counters.txt -f bin |
从 logfile.blg 文件中读取数据,使用 counters.txt 文件中的计数器,输出为二进制格式。 |
relog logfile.blg -f csv -o logfile.csv -t 2 |
从 logfile.blg 文件中读取数据,输出为 CSV 格式的 logfile.csv 文件,时间戳格式设置为 t 2(例如,分钟为单位)。 |
relog logfile.blg -q -o counters.txt |
从 logfile.blg 文件中读取数据,查询并输出计数器的详细信息到 counters.txt 文件。 |
-
将日志文件转换为其他格式:
Copy Coderelog input.blg -f csv -o output.csv -
筛选特定的计数器:
Copy Coderelog input.blg -c "\Processor(_Total)\% Processor Time" -o filtered.blg -
按时间段截取数据:
Copy Coderelog input.blg -b "2024-12-28 09:00:00" -e "2024-12-28 18:00:00" -o time_filtered.blg -
追加数据到现有日志:
Copy Coderelog new_log.blg -a -o existing_log.blg
7. TraceRpt
TraceRpt 用于分析和汇总跟踪文件(ETL 文件)中的事件数据。它主要用于处理由事件跟踪生成的文件,而不是传统的性能计数器日志文件。
|
TraceRpt /? Microsoft ® TraceRpt.Exe (10.0.26100.1882) 用法: 选项: 示例: |
| 命令 | 描述 |
|---|---|
tracerpt logfile1.etl logfile2.etl -o logdump.xml -of XML |
从 logfile1.etl 和 logfile2.etl 文件生成 XML 格式的日志输出,文件名为 logdump.xml。 |
tracerpt logfile.etl -o logdmp.xml -of XML -lr -summary logdmp.txt -report logrpt.xml |
从 logfile.etl 文件生成 XML 格式的日志文件 logdmp.xml,并输出摘要到 logdmp.txt,生成报告到 logrpt.xml。 |
tracerpt logfile1.etl logfile2.etl -o -report |
从 logfile1.etl 和 logfile2.etl 文件生成报告(不指定输出文件)。 |
tracerpt logfile.etl counterfile.blg -report logrpt.xml -df schema.xml |
从 logfile.etl 和 counterfile.blg 文件生成报告 logrpt.xml,并使用 schema.xml 定义文件。 |
tracerpt -rt "NT Kernel Logger" -o logfile.csv -of CSV |
使用 NT Kernel Logger 实时数据,生成 CSV 格式的日志文件 logfile.csv。 |
-
生成汇总报告:
Copy Codetracerpt MyTraceFile.etl -o MyReport.xml -
以不同格式生成报告:
Copy Codetracerpt MyTraceFile.etl -o MyReport.html -of HTML -
分析特定时间范围的日志数据:
Copy Codetracerpt MyTraceFile.etl -s "2024-12-28 09:00:00" -e "2024-12-28 18:00:00" -o FilteredReport.xml
这些工具为 Windows 性能计数器和事件跟踪提供了广泛的支持,帮助管理员和开发者实时监控、分析和优化系统性能。你可以通过这些工具收集、管理、转换和分析性能数据,制定合适的监控策略。
Windows 性能计数器相关命令的详细表格,包含常用的命令和功能描述:
Windows 性能计数器相关命令汇总
| 命令 | 功能描述 | 常用选项 | 示例 |
|---|---|---|---|
| perfmon | 打开性能监视器,可以创建和管理监视器,查看性能数据和日志。 | 无需额外选项,直接在命令行中运行即可启动性能监视器。 | perfmon |
| logman | 创建和管理性能日志文件和计数器。可以配置性能指标的收集周期、日志文件大小、滚动规则等。 | /start <数据收集器>:启动性能数据收集 /stop <数据收集器>:停止数据收集 /f <日志文件路径>:指定日志文件路径 /profile:使用配置文件收集数据 |
logman start MyCollector -p "Processor" -s 10 (启动性能数据收集器,收集处理器信息) |
| typeperf | 在命令行中显示实时系统性能计数器,支持表格或图形显示方式。 | /sc <样本数>:指定样本数 /si <采样间隔>:指定采样间隔(秒) /f:指定输出格式 |
typeperf "\Processor(_Total)\% Processor Time" /sc 5 /si 1 (显示 CPU 使用率数据) |
| lodctr | 加载性能计数器注册表信息。通常用于在添加新的性能计数器时重新注册计数器信息。 | /r:加载并重置性能计数器信息 /m:<计算机名>:指定远程计算机 /s:详细输出 |
lodctr /r |
| unlodctr | 卸载性能计数器注册表信息。可用于移除系统或应用程序不再需要的性能计数器。 | <计数器类别>:卸载指定类别的性能计数器 /f:卸载所有性能计数器 /m:<计算机名>:指定远程计算机 /s:显示卸载信息 |
unlodctr "Processor"(卸载“Processor”类别的性能计数器) |
详细功能描述
-
perfmon
perfmon是 Windows 系统自带的性能监视器工具,允许用户创建、管理和查看性能监控器。可以通过该工具监控系统资源的使用情况,例如 CPU、内存、磁盘和网络活动。用户可以通过 GUI 界面设置不同的计数器并进行日志记录。 -
logman
logman是一个命令行工具,用于创建和管理性能数据收集器。它支持收集系统性能数据、用户指定的计数器数据,并保存到日志文件中。使用该工具,用户可以设定数据收集的周期、文件大小限制等配置选项,支持定时任务。 -
typeperf
typeperf允许用户在命令行中实时显示性能计数器的值。它支持将指定的计数器数据以表格或图形的方式输出。适用于需要即时监控某些系统性能指标的场景,例如 CPU 利用率、内存使用等。 -
lodctr
lodctr用于加载和注册性能计数器信息,特别是在更新系统时(如安装新硬件或软件)需要重新加载计数器。它也支持通过/r重置系统的计数器信息,使得新的计数器能够被加载。 -
unlodctr
unlodctr用于卸载不再需要的性能计数器。它可以删除指定的性能计数器类别,或者完全卸载系统中的所有性能计数器。此命令在移除应用程序或硬件后特别有用,以确保系统不再注册无效的计数器。
示例命令及说明
-
启动性能监视器
在命令行中输入perfmon,会打开性能监视器,用户可以通过 GUI 选择要监控的性能计数器。bashCopy Codeperfmon -
创建并启动性能日志收集器
使用logman启动一个新的性能数据收集器并指定数据收集周期和日志文件路径:bashCopy Codelogman start MyCollector -p "Processor" -s 10该命令启动一个名为 "MyCollector" 的性能收集器,收集 “Processor” 类别的性能数据,并每 10 秒采集一次。
-
实时显示 CPU 使用率
使用typeperf实时显示 CPU 使用率(% Processor Time)数据:bashCopy Codetypeperf "\Processor(_Total)\% Processor Time" /sc 5 /si 1该命令会每 1 秒收集一次 CPU 使用率,并显示 5 个样本。
-
加载并重置性能计数器信息
使用lodctr /r命令重新加载系统的性能计数器信息:bashCopy Codelodctr /r该命令会加载性能计数器并重置系统中的计数器信息。
-
卸载“Processor”类别的性能计数器
使用unlodctr卸载与“Processor”类别相关的性能计数器:bashCopy Codeunlodctr "Processor"该命令将删除与 “Processor” 类别相关的所有性能计数器。
通过这些命令,用户可以方便地监控、管理和配置系统的性能计数器数据,帮助进行性能优化和故障排查。
Windows 性能计数器是 Windows 操作系统自带的一组监控工具,可以帮助用户实时跟踪和分析系统的运行状态。这些工具在性能优化、故障排除和系统维护中有着广泛的应用。以下是几个常用的性能计数器命令和它们的典型应用场景:
1. perfmon:性能监视器
命令:perfmon
功能描述: perfmon 是 Windows 的图形界面工具,用于查看、创建和管理性能监视器。用户可以实时监控系统资源的使用情况,比如 CPU、内存、磁盘、网络等,还可以生成日志文件以便后续分析。
应用场景:
- 性能监控:管理员使用
perfmon来监控系统的各类资源,实时查看各项指标,如 CPU 使用率、内存占用、磁盘 I/O 等。 - 系统调优:开发人员和 IT 运维人员利用性能监视器来找出系统瓶颈,并根据监控数据进行优化。
- 故障排查:在系统出现性能问题时,
perfmon可以帮助定位性能瓶颈,找到导致问题的资源(如内存泄漏、磁盘瓶颈等)。
示例: 打开性能监视器:
perfmon
这将启动性能监视器,用户可以通过 GUI 界面选择各种性能计数器,实时监控系统的运行状态。
2. logman:性能日志管理
命令:logman
功能描述: logman 是一个命令行工具,用于创建、配置和管理性能日志。它允许用户收集系统的性能数据并保存为日志文件,适用于定期监控和长期分析。
应用场景:
- 定期性能收集:系统管理员可以使用
logman创建定期收集性能数据的任务。例如,每隔一小时自动收集 CPU 和内存的使用情况。 - 资源趋势分析:对于长时间运行的服务器,可以设置日志记录来分析资源使用趋势,如内存使用逐渐增加的问题。
- 故障诊断:在系统发生崩溃或性能下降时,可以通过之前收集的日志数据,回溯系统行为,找出问题的根源。
示例: 启动性能日志收集器:
logman start MyCollector -p "Processor" -s 10
此命令启动一个名为 MyCollector 的日志收集器,每 10 秒收集一次处理器(Processor)的性能数据。
3. typeperf:实时性能数据输出
命令:typeperf
功能描述: typeperf 是一个命令行工具,可以在终端中显示实时的性能计数器数据。它支持定时采样和输出,适用于需要实时查看某个计数器(如 CPU 使用率、内存等)的场景。
应用场景:
- 即时性能监控:开发人员或运维人员可以使用
typeperf来实时查看系统的 CPU 使用率、内存使用情况等,并分析系统的当前状态。 - 脚本化监控:可以将
typeperf集成到批处理脚本或自动化监控工具中,实现自动化监控和报警。 - 快速故障排查:在系统出现异常时,
typeperf可以帮助快速查看系统性能瓶颈,例如 CPU 高负载、内存占用过高等问题。
示例: 查看 CPU 使用率:
typeperf "\Processor(_Total)\% Processor Time" /sc 5 /si 1
此命令会每秒采样一次 CPU 总体使用率,并显示 5 个采样数据。
4. lodctr:加载性能计数器信息
命令:lodctr
功能描述: lodctr 用于加载或重置性能计数器注册表信息。它通常用于在安装新硬件或应用程序后,注册新的性能计数器。
应用场景:
- 新硬件或应用安装后注册计数器:当安装新的硬件设备或软件时,
lodctr可以帮助注册该硬件或软件的性能计数器,从而使其能够在性能监控工具中被监控。 - 恢复默认计数器信息:如果性能计数器数据损坏,可以使用
lodctr /r来重置并恢复默认的计数器信息。
示例: 重置性能计数器:
lodctr /r
此命令会重置系统中的性能计数器,并重新加载它们。
5. unlodctr:卸载性能计数器信息
命令:unlodctr
功能描述: unlodctr 用于卸载指定的性能计数器信息。它可以删除不再使用的计数器,帮助减少系统负担。
应用场景:
- 清理无用的计数器:如果某些不再需要的计数器继续存在,使用
unlodctr可以卸载这些计数器,避免系统性能受影响。 - 移除无效计数器:在删除硬件或卸载软件后,使用
unlodctr可以清理不再需要的性能计数器,防止它们仍然占用资源。
示例: 卸载“Processor”类别的性能计数器:
unlodctr "Processor"
此命令会卸载与“Processor”类别相关的所有性能计数器。
这些性能计数器工具在多个应用场景下非常有用,特别是在 系统监控、性能优化、故障排查 和 资源趋势分析 方面。通过适当地使用 perfmon、logman、typeperf、lodctr 和 unlodctr,可以有效地管理和优化系统的性能,帮助系统管理员和开发人员及时发现和解决潜在的性能问题。
|
以下是
|
| 功能类别 | 命令/选项 | 说明 | 示例 |
|---|---|---|---|
| 显示实时性能数据 | <counter> |
显示指定性能计数器的实时数据。性能计数器可以是单个项或者多个项,支持通过命令行直接输入。 | typeperf "\Processor(_Total)\% Processor Time" |
| 输出数据到文件 | -o <文件路径> |
将性能数据输出到指定的文件中,默认输出格式为 CSV。可以指定文件路径来保存数据。 | typeperf "\Processor(_Total)\% Processor Time" -o C:\perf.csv |
| 设置数据采样频率 | -si <秒数> |
设置性能数据的采样间隔(秒)。默认情况下,typeperf 每秒收集一次数据,使用此选项可以调整采样频率。 |
typeperf "\Processor(_Total)\% Processor Time" -si 5 |
| 设置采样持续时间 | -sc <采样次数> |
设置性能数据的采样次数,typeperf 会在采样次数达到设定值后停止数据收集。 |
typeperf "\Processor(_Total)\% Processor Time" -sc 10 |
| 显示帮助信息 | /?” |
显示 typeperf 命令的帮助信息,列出所有支持的选项和命令。 |
typeperf /? |
| 输出以时间戳格式显示 | -f <格式> |
设置输出格式。支持的格式包括 csv、tsv(Tab-separated values)、user 等,可以选择适合的格式来输出数据。 |
typeperf "\Processor(_Total)\% Processor Time" -f tsv |
| 显示所有可用的性能计数器 | /q |
显示系统中所有可用的性能计数器列表。 | typeperf /q |
| 输出性能计数器的说明 | /s <计算机名> |
指定远程计算机进行性能数据采集。通过此选项可以指定远程计算机名或者 IP 地址,收集远程计算机的性能数据。 | typeperf "\Processor(_Total)\% Processor Time" /s RemotePC |
| 在后台运行 | /d |
将 typeperf 命令放到后台运行,不会显示实时数据,仅在命令行界面中生成输出文件。 |
typeperf "\Processor(_Total)\% Processor Time" -o C:\perf.csv /d |
| 显示特定时间的快照数据 | -cf <文件路径> |
使用配置文件来获取指定的性能计数器数据。配置文件可以预定义要收集的计数器,避免每次手动输入。 | typeperf -cf counters.xml |
| 设置最大输出行数 | -max <最大行数> |
设置输出的最大行数,防止输出过多的数据导致控制台滚动过快。 | typeperf "\Processor(_Total)\% Processor Time" -max 1000 |
功能描述
-
显示实时性能数据
typeperf可以用来实时显示指定性能计数器的性能数据。用户可以直接在命令行中指定要监控的计数器,输出实时数据。 -
输出数据到文件
typeperf可以将采集到的性能数据输出到指定的文件中。默认的输出格式是 CSV,但也可以通过设置格式参数选择其他格式(如 TSV)。 -
设置数据采样频率
通过-si选项,可以设置数据采样的时间间隔。默认情况下,typeperf每秒采集一次数据,使用此选项可以调整为其他时间间隔(以秒为单位)。 -
设置采样持续时间
-sc选项可以设定采样的次数,在采样次数达到预定值时,typeperf会自动停止数据收集。 -
显示帮助信息
通过/?选项,用户可以查看typeperf的命令帮助文档,了解如何使用各种选项。 -
输出以时间戳格式显示
-f选项允许用户设置输出的格式,可以选择csv、tsv等,输出的数据包括时间戳和对应的性能计数器值。 -
显示所有可用的性能计数器
使用/q选项,typeperf可以列出当前系统中所有可用的性能计数器,帮助用户选择要监控的计数器。 -
输出到远程计算机
使用/s <计算机名>可以指定远程计算机来收集其性能数据。远程计算机的性能计数器数据可以像本地计算机一样进行监控。 -
在后台运行
使用/d选项,typeperf将以后台方式运行,命令行界面不会显示实时数据,而是直接输出到文件。 -
显示特定时间的快照数据
通过-cf选项,可以指定一个配置文件,其中包含预定义的性能计数器和相关配置。使用配置文件可以简化多次重复的性能数据采集任务。 -
设置最大输出行数
-max选项允许用户限制输出的行数。当数据量较大时,可以避免输出过多内容导致滚动太快。
示例命令
-
实时显示 CPU 使用率
bashCopy Codetypeperf "\Processor(_Total)\% Processor Time"显示系统 CPU 使用率的实时数据。
-
将性能数据输出到 CSV 文件
bashCopy Codetypeperf "\Processor(_Total)\% Processor Time" -o C:\cpu_usage.csv将 CPU 使用率的实时数据保存到
C:\cpu_usage.csv文件中。 -
设置每 10 秒采样一次 CPU 使用率
bashCopy Codetypeperf "\Processor(_Total)\% Processor Time" -si 10每 10 秒采样一次 CPU 使用率。
-
限制采样 5 次
bashCopy Codetypeperf "\Processor(_Total)\% Processor Time" -sc 5采样 5 次后停止。
-
查询所有可用的性能计数器
bashCopy Codetypeperf /q列出所有系统中的可用性能计数器。
-
显示磁盘读取字节数并保存到文件
bashCopy Codetypeperf "\PhysicalDisk(_Total)\Disk Read Bytes/sec" -o C:\disk_read.csv监控磁盘读取字节数并将数据保存到文件中。
typeperf 是一个非常实用的工具,适用于实时收集和显示 Windows 系统的性能数据。通过它,用户可以精确地控制采样频率、采样持续时间,以及输出数据的格式,非常适合进行系统性能监控、诊断和调优。
Windows 性能计数器是一个 Windows 系统内置的监视工具,可以显示系统的运行状况,包括 CPU 使用率、内存使用情况、网络吞吐量、磁盘 I/O 活动等。以下是几个常用的性能计数器相关命令:
perfmon:打开性能监视器,可以创建和管理监视器,查看性能数据和日志。
logman:创建和管理性能日志文件和计数器。通过该命令可以配置各种性能指标的收集周期、日志文件大小和滚动规则等。
typeperf:在命令行中显示实时系统性能计数器。可以选择要显示哪些计数器,显示方式可选表格或图形。
lodctr:加载性能计数器注册表信息。
unlodctr:卸载性能计数器注册表信息。
参考资料:
C:\Users\Administrator>typeperf /?
Microsoft ® TypePerf.exe
Typeperf 将性能数据写入命令窗口或日志文件。要停止 Typeperf,请按 CTRL+C.
用法:
typeperf { <counter [counter ...]> | -cf <filename> | -q [object] | -qx [object] } [options]
参数:
<counter [counter ...]> 要监视的性能计数器。
选项:
-? 显示跟上下文相关的帮助。
-f <CSV|TSV|BIN|SQL> 输出文件格式。默认值是 CSV。
-cf <filename> 含有监视的性能计数器的文件,一个计数器一行。
-si <[[hh:]mm:]ss> 示例间的时间。默认值是 1 秒。
-o <filename> 输出文件或 SQL 数据库的路径。默认值为 STDOUT。
-q [object] 列出已安装的计数器(无实例)。要列出某个对象的计数器,包括对象名,如 Processor。
-qx [object] 列出已安装的计数器(带实例)。要列出某个对象的计数器,包括对象名,如 Processor。
-sc <samples> 要收集的示例数量。默认值为,在 CTRL+C 之前都进行采样。
-config <filename> 含有命令选项的设置文件。
-s <computer_name> 在计数器路径中没有指定服务器的情况下要监视的服务器。
-y 不用提示对所有问题都回答 yes。
注意:
Counter 是性能计数器的全名,格式为
"\\<Computer>\<Object>(<Instance>)\<Counter>";
例如 "\\Server1\Processor(0)\% User Time"。
示例:
typeperf "\Processor(_Total)\% Processor Time"
typeperf -cf counters.txt -si 5 -sc 50 -f TSV -o domain2.tsv
typeperf -qx PhysicalDisk -o counters.txt
------------
unlodctr 是 Windows 操作系统中的一个命令行工具,用于卸载性能计数器的数据文件。它允许用户移除已注册的性能计数器,特别是在性能计数器数据文件被损坏或不再需要时。以下是 unlodctr 按功能分类的表格化总结。
unlodctr 按功能分类表
| 功能类别 | 命令/选项 | 说明 | 示例 |
|---|---|---|---|
| 卸载性能计数器 | <计数器类别> |
卸载指定类别的性能计数器。可以通过计数器类别来卸载与该类别相关的所有性能计数器。该类别通常是与应用程序或硬件相关的。 | unlodctr "Processor" |
| 卸载特定应用程序的计数器 | <计数器名称> |
卸载特定应用程序或服务的性能计数器。指定应用程序的名称来卸载与之相关的计数器。 | unlodctr "MyApp" |
| 卸载计数器后显示信息 | /s |
在卸载性能计数器时,显示额外的信息,帮助用户了解卸载过程。 | unlodctr "Processor" /s |
| 卸载本地计算机计数器 | /m:<计算机名> |
指定远程计算机进行性能计数器的卸载操作,支持通过计算机名或 IP 地址指定远程计算机。 | unlodctr "Processor" /m:RemotePC |
| 卸载所有计数器 | /f |
卸载所有性能计数器。这将移除系统中所有已经注册的计数器,通常用于重置性能计数器配置。 | unlodctr /f |
| 显示帮助信息 | /?” |
显示 unlodctr 命令的帮助信息,列出所有支持的选项和命令。 |
unlodctr /? |
功能描述
-
卸载性能计数器
unlodctr允许用户卸载指定类别的性能计数器。通过指定计数器类别(例如,“Processor”),可以卸载所有与该类别相关的性能计数器。 -
卸载特定应用程序的计数器
可以卸载某个应用程序或服务的性能计数器。用户需要指定应用程序或服务的名称,工具会移除该应用相关的所有性能计数器。 -
卸载计数器时显示信息
使用/s选项,unlodctr在卸载计数器时会显示更多的卸载信息,帮助用户了解每个卸载步骤。 -
卸载远程计算机的性能计数器
通过/m:<计算机名>选项,unlodctr可以在远程计算机上卸载性能计数器,指定远程计算机的名称或 IP 地址进行操作。 -
卸载所有计数器
使用/f选项可以卸载系统中所有已注册的性能计数器,这通常用于重置计数器或清除不需要的计数器。 -
显示帮助信息
使用/?选项,用户可以查看unlodctr的帮助信息,了解该工具的详细用法和支持的所有命令选项。
示例命令
-
卸载“Processor”类别的计数器
bashCopy Codeunlodctr "Processor"卸载与“Processor”类别相关的所有性能计数器。
-
卸载“Processor”类别的计数器并显示详细信息
bashCopy Codeunlodctr "Processor" /s卸载“Processor”类别的计数器,同时显示卸载的详细信息。
-
卸载本地计算机上“Processor”类别的计数器
bashCopy Codeunlodctr "Processor" /m:RemotePC在远程计算机(
RemotePC)上卸载“Processor”类别的计数器。 -
卸载所有性能计数器
bashCopy Codeunlodctr /f卸载系统上所有已注册的性能计数器。
-
查询帮助信息
bashCopy Codeunlodctr /?显示
unlodctr命令的帮助文档,列出所有支持的选项和命令。
unlodctr 是一个用于卸载性能计数器的工具,它可以帮助用户移除系统中不再需要的或有问题的性能计数器。通过 unlodctr,用户可以选择卸载特定类别的计数器、特定应用程序的计数器,或是重置系统中的所有计数器。此外,工具支持在远程计算机上进行操作,并可以通过 /s 选项查看卸载过程中的详细信息。
启用或禁用**CPU**性能计数器,您可以使用以下命令:
lodctr /R:重新加载所有性能计数器。这会重新加载注册表中的性能计数器配置,默认情况下会启用CPU性能计数器。
unlodctr /M:PerfOS:禁用CPU性能计数器。此命令会重新加载 PerfOS.ini 文件,并禁用其中定义的所有CPU性能计数器。
------------
要启用或禁用**内存**性能计数器,您可以使用以下命令:
lodctr /M:PerfOS:启用内存性能计数器。此命令会重新加载 PerfOS.ini 文件,并启用其中定义的所有内存性能计数器。
unlodctr /M:PerfOS:禁用内存性能计数器。此命令会重新加载 PerfOS.ini 文件,并禁用其中定义的所有内存性能计数器。
------------
PerfMon 是 Windows 操作系统中的性能监视工具,用于收集和分析系统的性能数据。通过不同的命令和功能,用户可以监控系统资源使用情况、诊断问题和优化系统性能。
以下是 PerfMon 命令按功能分类的表格化总结:
PerfMon 命令按功能分类表
| 功能类别 | 命令/工具 | 说明 | 示例 |
|---|---|---|---|
| 启动与访问性能监视工具 | perfmon |
启动性能监视器应用程序。 | 打开性能监视器界面。 |
perfmon /report |
创建并显示系统性能报告。 | perfmon /report 生成系统报告,帮助诊断性能瓶颈。 |
|
perfmon /rel |
启动性能监视器并显示实时性能数据。 | perfmon /rel 显示实时监视器界面。 |
|
perfmon /trace |
启动性能监视器并开始跟踪系统事件,生成诊断日志。 | perfmon /trace 开始性能跟踪。 |
|
| 收集和查看性能数据 | typeperf |
在命令行中获取系统性能数据。 | typeperf "\Processor(_Total)\% Processor Time" 显示 CPU 使用率。 |
typeperf /query |
显示可用的性能计数器列表。 | typeperf /query 显示当前系统中所有可用的性能计数器。 |
|
typeperf /f |
格式化输出的性能数据。 | typeperf "\Processor(_Total)\% Processor Time" -f CSV 输出为 CSV 格式。 |
|
typeperf -si <seconds> |
定时收集性能数据并输出。 | typeperf "\Memory\Available Bytes" -si 5 每 5 秒采样一次内存可用字节数。 |
|
| 创建和管理数据收集器集 | logman |
创建、启动、停止和管理数据收集器集。 | logman start MyDataCollector -p "\Processor(_Total)\% Processor Time" 启动数据收集器。 |
logman create counter |
创建性能计数器数据收集器集。 | logman create counter MyCollector -c "\Processor(_Total)\% Processor Time" 创建计数器数据收集器。 |
|
logman stop |
停止正在运行的数据收集器集。 | logman stop MyDataCollector 停止数据收集器。 |
|
| 数据分析与报告 | perfmon /report |
创建并生成详细的系统性能报告。 | perfmon /report 生成报告,帮助用户分析系统性能问题。 |
perfmon /rel |
启动并实时显示系统性能数据。 | perfmon /rel 实时显示系统性能数据。 |
|
| 性能监视器设置与管理 | perfmon /reset |
重置性能监视器设置。 | perfmon /reset 重置所有配置。 |
| 查看和配置数据集 | performance counters |
列出所有可用的性能计数器并配置其显示。 | performance counters /list 列出所有性能计数器。 |
| 远程监控与管理 | perfmon /connect |
远程连接到另一台计算机进行性能监控。 | perfmon /connect <remote_computer_name> 远程连接监控。 |
| 查看日志文件与导出数据 | typeperf -o |
将性能数据输出到指定文件。 | typeperf "\Memory\Available Bytes" -o "output.csv" 导出数据到 CSV 文件。 |
logman export |
导出数据收集器的数据。 | logman export -n MyDataCollector -f csv -o "data.csv" 导出收集器数据。 |
|
| 性能计数器配置 | perfmon /counters |
启动并显示性能计数器。 | perfmon /counters 显示和配置性能计数器。 |
| Windows 事件日志监控 | wevtutil qe |
查询和分析事件日志。 | wevtutil qe System /f:text 查询并显示系统事件日志。 |
功能描述
-
启动与访问性能监视工具
- 启动性能监视器界面和报告工具,通过命令行快速访问并生成性能报告。
-
收集和查看性能数据
- 使用
typeperf工具获取并格式化性能数据,可以通过指定不同的参数来查看实时或历史性能数据,并将数据导出为 CSV 或其他格式。
- 使用
-
创建和管理数据收集器集
logman是一个强大的命令行工具,可以创建、管理和停止性能数据收集器集。它支持多种数据收集模式,包括性能计数器、事件跟踪和配置文件数据。
-
数据分析与报告
- 通过
perfmon /report可以生成详细的性能分析报告,帮助用户发现系统性能瓶颈,支持系统优化。
- 通过
-
性能监视器设置与管理
- 配置性能监视器的行为,重置或调整性能监视器的设置,帮助用户根据实际需要定制监控方式。
-
查看和配置数据集
- 查看可用的性能计数器,并配置哪些计数器需要被监控。可以选择特定的资源进行详细分析。
-
远程监控与管理
- 通过远程连接到其他计算机,使用
perfmon工具进行性能监控。适用于分布式环境中的性能诊断。
- 通过远程连接到其他计算机,使用
-
查看日志文件与导出数据
- 导出性能数据或日志文件,以便进一步分析或备份,支持 CSV、XML 等格式。
-
性能计数器配置
- 配置并查看系统中的各种性能计数器,帮助用户从系统资源的角度分析计算机性能。
-
Windows 事件日志监控
- 使用
wevtutil命令查询和管理 Windows 事件日志,分析系统事件、应用程序和安全日志,诊断潜在问题。
- 使用
PerfMon 提供了强大的工具集来监控和分析 Windows 系统的性能。通过命令行工具,如 typeperf 和 logman,用户可以定制自己的性能监控方案,实时查看性能数据、生成报告,分析性能瓶颈,并进行远程管理。
要启用或禁用**磁盘**性能计数器,您可以使用以下命令:
diskperf -y:启用所有逻辑磁盘的性能计数器。此命令会打开注册表中的 DiskPerf 项,并将其值设置为 1。
diskperf -n:禁用所有逻辑磁盘的性能计数器。此命令会关闭注册表中的 DiskPerf 项,并将其值设置为 0。
diskperf -yv:启用所有逻辑磁盘的性能计数器,并显示详细的 I/O 统计信息。此命令会打开注册表中的 DiskPerf 项,并将其值设置为 2。
diskperf -nv:禁用所有逻辑磁盘的性能计数器,并不显示详细的 I/O 统计信息。此命令会关闭注册表中的 DiskPerf 项,并将其值设置为 0
参考资料:
C:\Users\Administrator>diskperf /?
DISKPERF [-Y[D|V] | -N[D|V]] [\\computername]
-Y 在系统重新启动时,将系统设为开启所有磁盘性能计数器。
-YD 在系统重新启动时,启用物理驱动器的磁盘性能计数器。
-YV 当系统重新启动时,启用逻辑驱动器的磁盘性能计数器或存储数值。
-N 当系统重新启动时,将系统设为禁用所有磁盘性能计数器。
-ND 禁用物理驱动器的磁盘性能计数器。
-NV 禁用逻辑驱动器的磁盘性能计数器。
\\computername 这是你想见的计算机名或设定使用磁盘性能计数器。
计算机必须是 Windows 2000 系统。
注意: 磁盘性能计数器在 Windows 2000 以后的系统上总是处于启用状态。
DISKPERF 是 Windows 系统中的一个命令行工具,用于启用或禁用磁盘性能计数器的收集。磁盘性能计数器用于监控磁盘的 I/O 性能数据。通过配置 DISKPERF,用户可以根据需要启用或关闭磁盘性能计数器,从而影响性能监控工具(如 PerfMon)的数据收集。
以下是 DISKPERF 按功能分类的表格化总结:
DISKPERF 按功能分类表
| 功能类别 | 命令/选项 | 说明 | 示例 |
|---|---|---|---|
| 启用磁盘性能计数器 | DISKPERF -y |
启用磁盘性能计数器的收集。此命令会开启磁盘的 I/O 性能监控,以便其他工具(如 PerfMon)进行性能数据采集。 |
DISKPERF -y 启用磁盘性能计数器收集。 |
| 禁用磁盘性能计数器 | DISKPERF -n |
禁用磁盘性能计数器的收集。此命令会停止磁盘的 I/O 性能监控,减少系统负载。 | DISKPERF -n 禁用磁盘性能计数器收集。 |
| 查看当前状态 | DISKPERF -status |
查看磁盘性能计数器的当前状态。可以查看磁盘性能计数器是否已启用或禁用。 | DISKPERF -status 查看磁盘性能计数器的启用/禁用状态。 |
| 启用/禁用特定驱动器的性能计数器 | DISKPERF -d <驱动器字母> |
启用或禁用特定磁盘驱动器的性能计数器。例如,可以单独启用或禁用 C: 驱动器的磁盘性能计数器,而不影响其他磁盘。 | DISKPERF -d C: 启用 C: 驱动器的性能计数器。 |
| 查看帮助信息 | DISKPERF /? |
显示 DISKPERF 的帮助信息,列出所有可用选项和命令。 |
DISKPERF /? 显示帮助信息。 |
功能描述
-
启用磁盘性能计数器
DISKPERF -y启用磁盘性能计数器。这会开始收集磁盘的 I/O 性能数据,可以被系统性能监控工具(如PerfMon或typeperf)使用。
-
禁用磁盘性能计数器
DISKPERF -n禁用磁盘性能计数器。这会停止磁盘的 I/O 性能数据收集,通常在不需要磁盘 I/O 性能数据时使用。
-
查看当前状态
DISKPERF -status命令可以用来查看磁盘性能计数器的当前状态。这个命令会显示磁盘 I/O 性能计数器是否启用,方便用户管理磁盘监控状态。
-
启用/禁用特定驱动器的性能计数器
- 使用
DISKPERF -d <驱动器字母>,用户可以指定特定的磁盘驱动器启用或禁用性能计数器。这对于需要精确监控某个驱动器的磁盘 I/O 性能时非常有用。
- 使用
-
查看帮助信息
- 通过
DISKPERF /?命令,用户可以查看所有可用的选项和命令,用于快速学习如何使用该工具。
- 通过
示例命令
-
启用磁盘性能计数器:
bashCopy CodeDISKPERF -y这个命令会启用所有磁盘驱动器的性能计数器。
-
禁用磁盘性能计数器:
bashCopy CodeDISKPERF -n这个命令会禁用磁盘的性能计数器,停止收集磁盘 I/O 性能数据。
-
查看磁盘性能计数器的状态:
bashCopy CodeDISKPERF -status该命令会显示当前系统中磁盘性能计数器的启用/禁用状态。
-
启用特定磁盘驱动器的性能计数器:
bashCopy CodeDISKPERF -d C:该命令会启用 C: 驱动器的磁盘性能计数器。
DISKPERF 主要用于启用和禁用磁盘 I/O 性能计数器的收集,用户可以根据需要监控或停止监控磁盘的性能数据。通过这些命令,用户可以高效地管理磁盘性能数据收集的状态,帮助在系统性能分析中专注于磁盘性能或避免不必要的性能开销。
------------
启用或禁用**网卡**性能计数器,您可以使用以下命令:
lodctr /q
lodctr /N:启用所有网卡性能计数器。此命令会重新加载注册表中的性能计数器配置,并启用其中定义的所有网卡性能计数器。
unlodctr /N:禁用所有网卡性能计数器。此命令会重新加载注册表中的性能计数器配置,并禁用其中定义的所有网卡性能计数器。
LODCTR 是 Windows 操作系统中的一个命令行工具,用于管理系统性能计数器。LODCTR 主要用于加载和更新性能计数器的配置信息,通常与性能监控相关的工具(如 PerfMon)一起使用。通过 LODCTR 命令,可以加载性能计数器库,更新计数器数据,或重置计数器配置。
以下是 LODCTR 按功能分类的表格化总结:
LODCTR 按功能分类表
| 功能类别 | 命令/选项 | 说明 | 示例 |
|---|---|---|---|
| 加载性能计数器信息 | LODCTR /S:<文件名> |
从指定的 .ini 文件加载性能计数器的配置信息。常用于加载自定义或第三方应用程序的计数器设置。 |
LODCTR /S:C:\Counters.ini 从指定的文件加载计数器配置信息。 |
| 更新性能计数器信息 | LODCTR /R |
更新性能计数器的配置。该命令将重新加载计数器配置信息并更新系统注册表中的性能计数器数据。 | LODCTR /R 更新所有计数器信息。 |
| 查看性能计数器信息 | LODCTR /L |
列出当前系统中已加载的性能计数器。 | LODCTR /L 列出所有已加载的计数器信息。 |
| 查看计数器的详细信息 | LODCTR /Q |
查询并显示当前系统中的性能计数器的详细信息。 | LODCTR /Q 显示计数器的详细信息。 |
| 修复性能计数器配置 | LODCTR /F |
修复系统中损坏或丢失的性能计数器配置。这个命令会重新创建计数器数据,并将其注册到系统中。 | LODCTR /F 修复损坏的性能计数器配置。 |
| 显示帮助信息 | LODCTR /? |
显示 LODCTR 命令的帮助信息,列出所有可用选项和命令。 |
LODCTR /? 显示帮助信息。 |
功能描述
-
加载性能计数器信息
LODCTR /S:<文件名>用于从指定的.ini配置文件加载性能计数器信息。这通常用于自定义计数器或第三方应用程序提供的计数器,帮助加载额外的性能监控数据。
-
更新性能计数器信息
LODCTR /R会重新加载并更新系统的性能计数器配置。这通常用于应用程序或操作系统更新后,确保计数器信息处于最新状态。
-
查看性能计数器信息
LODCTR /L命令列出当前系统中已加载的所有性能计数器。可以用来检查哪些计数器已经启用,并查看其基本信息。
-
查看计数器的详细信息
LODCTR /Q提供当前系统中所有性能计数器的详细信息,包括计数器的名称和相关数据。用于检查和分析性能计数器的详细配置和状态。
-
修复性能计数器配置
LODCTR /F用于修复系统中的损坏或丢失的性能计数器配置。该命令将重新生成计数器数据并恢复计数器配置。此命令可以解决由于系统错误导致的计数器丢失问题。
-
显示帮助信息
LODCTR /?用于显示LODCTR命令的帮助信息,列出所有支持的选项和命令。可以使用此命令查看详细的命令用法和参数说明。
示例命令
-
加载指定的计数器配置文件:
bashCopy CodeLODCTR /S:C:\PerfCounters.ini该命令从
C:\PerfCounters.ini文件中加载性能计数器配置信息。 -
更新所有计数器配置信息:
bashCopy CodeLODCTR /R该命令将更新系统中的所有性能计数器信息。
-
列出当前已加载的所有计数器:
bashCopy CodeLODCTR /L该命令列出当前系统中所有已加载的计数器。
-
查询计数器的详细信息:
bashCopy CodeLODCTR /Q该命令显示系统中所有性能计数器的详细信息。
-
修复损坏的性能计数器配置:
bashCopy CodeLODCTR /F该命令修复损坏或丢失的性能计数器配置。
-
显示帮助信息:
bashCopy CodeLODCTR /?该命令显示
LODCTR命令的帮助信息。
LODCTR 是一个非常有用的工具,用于管理和维护 Windows 操作系统中的性能计数器。通过该工具,用户可以加载、更新、修复、查看和查询计数器的信息,帮助系统管理员有效地管理性能监控。LODCTR 也常用于安装第三方应用程序提供的自定义计数器,以及解决性能计数器相关的问题。
------------
启用或禁用**显卡**性能计数器,您可以使用以下命令:
lodctr /M:PerfGraphics:启用显卡性能计数器。此命令会重新加载 PerfGraphics.ini 文件,并启用其中定义的所有显卡性能计数器。
unlodctr /M:PerfGraphics:禁用显卡性能计数器。此命令会重新加载 PerfGraphics.ini 文件,并禁用其中定义的所有显卡性能计数器。
------------
参考资料:
C:\Users\Administrator>lodctr /?
LODCTR
更新与性能计数器相关的注册表值。
用法:
LODCTR <INI-filename>
安装计数器文本字符串。
INI 文件名是包含了计数器名称定义的初始化文件的名称,
解释为可扩展计数器 DLL 的文本。
LODCTR /C:<filename>
升级计数器文本字符串使用 <filename>
LODCTR /H:<filename>
升级帮助文本字符串使用 <filename>
LODCTR /L:<LangID>
指定 /c 和 /h 命令的语言
LODCTR /S:<Backup-filename>
将当前的 perf 注册表字符串和信息保存到
<Backup-filename>
LODCTR /R
根据当前注册表设置和备份 INI 文件从头开始重建
perf 注册表。
LODCTR /R:<filename>
使用 <filename> 还原 perf 注册表字符串和信息
LODCTR /T:<service-name>
将指定的性能计数器提供程序设置为受信任。
LODCTR /Q
显示性能计数器提供程序信息。
LODCTR /Q:<service-name>
显示特定提供程序的性能计数器提供程序信息。
LODCTR /E:<service-name>
启用性能计数器提供程序。
LODCTR /D:<service-name>
禁用性能计数器提供程序。
LODCTR /M:<Counter-Manifest> [<Installation-Path>]
使用指定的 XML 清单安装 v 2.0
性能计数器提供程序。
安装需要一个包含性能计数器资源
(本地化字符串) 的 DLL 完整路径。
DLL 的路径将按以下方式来确定:
清单中的 applicationIdentity 属性将使用完整路径。
否则中, 如果提供了 <Installation-Path>,并且是完整路径,
将被使用。
否则中,如果 <Counter-Manifest> 是完整路径,则 <Counter-Manifest>
中的目录将与清单中 applicationIdentity 属性的 DLL
名称进行组合。
否则, 当前目录将与清单中 applicationIdentity 属性的 DLL
名称组合在一起。
注意: 所有名称中带空格的参数都必须用双引号引起来。
------------
perfmon /report:生成性能监视器报告。该命令会收集系统配置信息、性能数据和应用程序信息,并生成一个 HTML 格式的报告,用于分析系统性能瓶颈。
lodctr /S:从指定文件中加载计数器注册表信息。该命令将计数器信息保存到指定的文件中,以备将来导入或加载。
lodctr /R:重新加载 Windows 系统默认的性能计数器注册表信息。该命令可用于解决性能计数器无法正常启动或显示的问题。
relog.exe:更改性能日志文件的格式,合并日志文件或转储日志文件数据。该工具可用于将多个日志文件合并成一个文件,也可以将日志文件转换成不同格式,如 CSV 或 SQL 数据库等。
tracerpt.exe:将性能日志文件中的数据转换为不同格式的文件。该工具支持多种输出格式,包括文本文件、HTML 文件、XML 文件和 SQL 数据库等。
Windows 性能计数器还有一些其他的工具和相关命令
perfview:一个跨平台的性能分析工具,可用于诊断和解决 Windows 应用程序的性能问题。perfview 可以收集 CPU 使用率、内存使用情况、磁盘 I/O 活动和网络延迟等详细的性能数据,并生成详细的性能分析报告。
perfmon /sys:打开性能监视器,显示远程计算机的性能计数器数据。通过该命令,您可以监控远程计算机的各种性能指标,如 CPU 使用率、内存使用情况、网络吞吐量和磁盘 I/O 活动等。
PAL(Performance Analysis of Logs):一个基于 PowerShell 的性能分析工具,可用于分析性能日志文件和 Windows 事件日志。PAL 可以通过预定义的阈值和规则来自动检测和诊断 Windows 系统的常见性能问题。
logparser:一个通用的日志分析工具,支持多个不同格式的日志文件,包括性能日志和事件日志等。logparser 可以执行 SQL 查询,并将查询结果输出为文本文件或图表等。
xperf:一个高级的性能分析工具,可用于捕获详细的系统跟踪数据。xperf 可以收集 CPU 使用率、内存使用情况、磁盘 I/O 活动、网络延迟和应用程序性能数据等,以便分析和诊断系统性能问题。
XPERF 是 Microsoft 提供的一款性能分析工具,它广泛应用于 Windows 操作系统的性能跟踪和分析,尤其是在性能调优和故障排查方面。下面是 XPERF 命令行工具的一些选项和操作说明:
XPERF 命令选项
-
help
显示Xperf工具的所有选项和操作的帮助信息。 -
mark
显示 标记 和 标记刷新 的选项,用户可以使用标记功能来标注跟踪中的特定事件或时刻,方便后期分析。 -
merge
显示 跟踪合并 选项。可以将多个性能跟踪文件合并为一个文件,方便进行综合分析。 -
processing
显示 跟踪后处理 选项。此选项用于进一步处理和分析已收集到的跟踪数据。 -
providers
显示 提供程序查询 选项。该命令可以列出当前可用的跟踪提供程序(如 CPU、内存、磁盘等),以供选择分析。 -
stackwalk
显示 堆栈步进 选项。用于深入分析调用堆栈,帮助用户追踪代码的执行路径。 -
start
显示 记录器启动 选项。此命令用于启动性能跟踪记录器,开始采集系统性能数据。 -
stop
显示 跟踪停止 选项。该命令用于停止性能跟踪,结束数据收集过程。 -
symbols
启用和配置 符号解码 支持。通过加载符号文件,Xperf能够提供更具可读性的堆栈跟踪和函数调用信息。 -
view
在 图形查看器 中显示跟踪结果。用户可以使用该选项将收集到的性能数据在图形界面中可视化,便于分析和解读。
这些选项和操作可以帮助用户更细致地控制性能数据的收集、分析和展示。具体的使用方法可以通过 Xperf help 命令来进一步了解。
常见的 XPERF 命令行工具示例,用于性能跟踪、分析和后处理等操作:
1. 启动性能跟踪
xperf -start MyTrace -on CPU,Disk
说明:
-start MyTrace:启动一个名为MyTrace的跟踪会话。-on CPU,Disk:启用对 CPU 和磁盘的跟踪提供程序。
2. 停止性能跟踪
xperf -stop MyTrace
说明:
-stop MyTrace:停止MyTrace会话的跟踪并保存跟踪数据。
3. 合并跟踪文件
xperf -merge trace1.etl trace2.etl -o mergedTrace.etl
说明:
-merge trace1.etl trace2.etl:将两个跟踪文件(trace1.etl和trace2.etl)合并。-o mergedTrace.etl:指定输出的合并结果文件为mergedTrace.etl。
4. 查看跟踪数据
xperf -view mergedTrace.etl
说明:
-view mergedTrace.etl:在图形查看器中查看mergedTrace.etl文件的内容。
5. 使用符号解码
xperf -symbols C:\Symbols -load trace.etl
说明:
-symbols C:\Symbols:指定符号文件的路径(例如,.pdb文件)。-load trace.etl:加载trace.etl文件并使用指定的符号解码信息。
6. 堆栈分析
xperf -stackwalk profile
说明:
-stackwalk profile:对 CPU 或内存使用情况进行堆栈分析,并生成调用栈信息。
7. 列出可用的提供程序
xperf -providers
说明:
-providers:列出所有可用的跟踪提供程序(如 CPU、磁盘、网络等)。
8. 跟踪标记
xperf -mark "Checkpoint 1"
说明:
-mark "Checkpoint 1":在当前跟踪中添加一个标记,方便后续分析时定位关键点。
9. 处理和分析跟踪
xperf -processing mergedTrace.etl
说明:
-processing mergedTrace.etl:对mergedTrace.etl文件进行进一步处理或分析。
10. 查询并输出特定的提供程序信息
xperf -providers -query CPU
说明:
-providers -query CPU:查询并显示与 CPU 相关的所有跟踪提供程序。
这些示例展示了如何利用 Xperf 命令行工具执行从启动跟踪、停止跟踪、合并文件、堆栈分析到数据后处理等一系列性能分析任务。
更多 XPERF 命令行工具的示例,帮助你更好地理解如何使用该工具进行性能分析和诊断:
1. 启动跟踪并启用多个提供程序
xperf -start MyTrace -on CPU,Disk,Memory
说明:
- 启动一个名为
MyTrace的跟踪会话,启用对 CPU、磁盘 和 内存 的跟踪。
2. 跟踪并收集时间片
xperf -start MyTrace -on CPU -buffersize 1024 -period 100
说明:
-buffersize 1024:设置缓冲区大小为 1024 KB。-period 100:设置时间片周期为 100 毫秒。
3. 记录和分析 GPU 使用情况
xperf -start GPUTrace -on GPU
xperf -stop GPUTrace
xperf -view GPUTrace.etl
说明:
- 启动 GPU 跟踪并记录数据,随后停止跟踪并在图形查看器中查看结果。
4. 合并多个跟踪文件
xperf -merge trace1.etl trace2.etl -o merged.etl
说明:
- 合并两个跟踪文件
trace1.etl和trace2.etl,并将结果输出到merged.etl文件。
5. 在跟踪中加入标记
xperf -mark "Start Process A"
说明:
- 在跟踪中添加一个标记
"Start Process A",以便在后续分析时定位特定时间点或事件。
6. 使用符号解码
xperf -symbols C:\Symbols -load trace.etl
说明:
- 加载符号文件夹(如
.pdb文件所在路径),并解码跟踪数据文件trace.etl。
7. 列出跟踪提供程序
xperf -providers
说明:
- 列出当前系统中可用的所有跟踪提供程序,如 CPU、磁盘、网络等。
8. 查看跟踪数据
xperf -view trace.etl
说明:
- 使用图形化界面查看
trace.etl文件中的性能数据。
9. 分析堆栈跟踪
xperf -stackwalk profile
说明:
- 对
profile进行堆栈分析,输出调用栈信息,帮助进一步分析性能瓶颈。
10. 处理和分析 ETL 文件
xperf -processing trace.etl
说明:
- 对跟踪文件
trace.etl进行后处理和分析,提取有用的性能数据。
11. 启用详细的系统分析
xperf -on CPU,Disk,Memory,Network -buffersize 2048 -period 50
说明:
- 启用 CPU、磁盘、内存 和 网络 提供程序的详细分析,设置缓冲区大小为 2048 KB,时间片周期为 50 毫秒。
12. 停止记录并输出合并文件
xperf -stop MyTrace
xperf -merge MyTrace.etl AdditionalTrace.etl -o FinalTrace.etl
说明:
- 停止记录跟踪
MyTrace,然后将其与AdditionalTrace.etl合并并输出到FinalTrace.etl。
这些命令展示了如何使用 XPERF 进行跟踪启动、合并文件、堆栈分析、符号解码等操作。根据你的需求,你可以灵活地调整命令选项进行性能分析。
更多 XPERF 命令行工具的示例,帮助你深入了解如何利用 XPERF 进行系统性能的跟踪、分析和调优:
1. 启动一个自定义跟踪并设置多个跟踪提供程序
xperf -start CustomTrace -on CPU,Disk,Memory,Network -buffersize 2048 -period 50
说明:
- 启动一个名为
CustomTrace的跟踪会话。 - 启用 CPU、磁盘、内存 和 网络 的跟踪。
- 设置缓冲区大小为 2048 KB,时间片周期为 50 毫秒。
2. 启动并启用线程 CPU 使用情况跟踪
xperf -start ThreadCPU -on CPU -stackwalk profile
说明:
- 启动一个名为
ThreadCPU的跟踪会话,跟踪 CPU 使用情况。 - 启用 堆栈分析,深入分析线程的 CPU 使用情况。
3. 查看特定提供程序的详细信息
xperf -providers -query Disk
说明:
- 列出 Disk 提供程序的详细信息,包括每个磁盘的性能数据。
4. 停止跟踪并查看实时性能数据
xperf -stop CustomTrace
xperf -view CustomTrace.etl
说明:
- 停止
CustomTrace会话的跟踪并生成CustomTrace.etl文件。 - 在图形化界面中查看和分析
CustomTrace.etl文件中的性能数据。
5. 启用并分析 I/O 操作的延迟
xperf -start IO_Delay -on Disk -stackwalk profile
说明:
- 启动
IO_Delay会话并启用 磁盘 I/O 跟踪。 - 对磁盘 I/O 操作的延迟进行堆栈分析,帮助定位性能瓶颈。
6. 使用符号文件解码跟踪数据
xperf -symbols C:\Symbols -load Trace.etl
说明:
- 加载
C:\Symbols文件夹中的符号文件(例如.pdb文件),并解码Trace.etl文件中的堆栈信息。
7. 合并多个跟踪文件并生成报告
xperf -merge Trace1.etl Trace2.etl -o MergedTrace.etl
xperf -view MergedTrace.etl
说明:
- 将
Trace1.etl和Trace2.etl合并,生成一个名为MergedTrace.etl的文件。 - 在图形化查看器中查看合并后的跟踪数据。
8. 通过标记分析关键事件
xperf -mark "Start of Task"
说明:
- 在跟踪中添加标记
"Start of Task",可以帮助在分析中快速找到特定事件的起始位置。
9. 执行跨多个进程的堆栈分析
xperf -stackwalk profile -on CPU -query process
说明:
- 对多个进程进行堆栈分析,帮助深入了解在不同进程中发生的性能问题。
10. 监视系统资源使用情况
xperf -start SystemMonitor -on CPU,Memory,Disk,Network -buffersize 4096 -period 200
说明:
- 启动
SystemMonitor跟踪会话,监视 CPU、内存、磁盘 和 网络 的使用情况。 - 设置缓冲区大小为 4096 KB,时间片周期为 200 毫秒。
11. 在分析过程中显示实时日志
xperf -view RealTimeLog.etl
说明:
- 实时查看
RealTimeLog.etl文件中的性能数据,帮助快速诊断系统问题。
12. 针对特定应用程序进行 CPU 分析
xperf -start AppCPU -on CPU -stackwalk profile -query MyApp.exe
说明:
- 启动
AppCPU跟踪会话,仅针对MyApp.exe应用程序的 CPU 使用情况进行分析。
13. 查询并输出系统总体性能
xperf -providers -query System
说明:
- 查询系统的总体性能数据,如 CPU 使用率、内存使用情况等,并输出相关统计信息。
14. 导出性能跟踪为 CSV 格式
xperf -export Trace.etl -csv
说明:
- 将
Trace.etl文件中的性能数据导出为 CSV 格式,便于进一步分析。
这些命令示例帮助你掌握 XPERF 工具的更多高级用法,从而进行更加细致的性能分析和调优。通过灵活调整命令参数,可以对系统的各个方面进行深入分析,帮助排查性能瓶颈并优化系统。
logman /?
Microsoft ® Logman.exe
用法:
logman [create|query|start|stop|delete|update|import|export] [选项]
动词:
create 创建新的数据收集器。
query 查询数据收集程序属性。如果没有指定名称,将列
出所有数据收集程序。
start 启动现有数据收集器并将开始时间设为手动。
stop 停止现有数据收集程序并将停止时间设为手动。
delete 删除现有数据收集程序。
update 更新现有数据收集程序的属性。
import 从 XML 文件导入数据收集器集。
export 将数据收集器集导出到 XML 文件。
副词:
counter 创建计数器数据收集程序。
trace 创建跟踪数据收集程序。
alert 创建警报数据收集器。
cfg 创建配置数据收集器。
providers 显示注册的提供程序。
选项(counter):
-c <path [path [...]]> 要收集的性能计数器。
-cf <文件名> 列出要收集的性能计数器的文件,一行一个。
-f <bin|bincirc|csv|tsv|sql> 指定数据收集程序的记录格式。对于 SQL 数据库格
式,必须在命令行中使用 -o 选项和 DNS!log 选项
。默认设置是二进制。
-sc <值> 要使用性能计数器数据收集器收集的示例的最大数
量。
-si <[[hh:]mm:]ss> 性能计数器数据收集程序的示例间隔。
选项(trace):
-f <bin|bincirc|csv|tsv|sql> 指定数据收集程序的记录格式。对于 SQL 数据库格
式,必须在命令行中使用 -o 选项和 DNS!log 选项
。默认设置是二进制。
-mode <trace_mode> 事件跟踪会话记录程序模式。有关详细信息,请访
问
https://go.microsoft.com/fwlink/?LinkID=136464
-ct <perf|system|cycle> 指定当记录每个事件的时间戳时要使用的时钟分辨
率。可以查询性能记数器、系统时间或 CPU 周期。
-ln <logger_name> 事件跟踪会话的记录者名。
-ft <[[hh:]mm:]ss> 事件跟踪会话刷新计时器。
-[-]p <provider [flags [level]]> 要启用的单个事件跟踪提供程序。术语“标记”和
“关键字”在此上下文中是同义词。
-pf <文件名> 列出要启用的多个事件跟踪提供程序的文件。
-[-]rt 以实时模式运行事件跟踪会话。
-[-]ul 以用户模式运行事件跟踪会话。
-bs <值> 事件跟踪会话缓冲区大小,单位为 KB。
-nb <min max> 事件跟踪会话缓冲区数量。
选项(alert):
-[-]el 启用/禁用事件日志报告。
-th <threshold [threshold [...]]> 指定计数器及其阈值和警报。
-[-]rdcs <name> 警报激发时启动数据收集器集。
-[-]tn <task> 警报激发时要运行的任务。
-[-]targ <argument> 任务参数。
-si <[[hh:]mm:]ss> 性能计数器数据收集程序的示例间隔。
选项(cfg):
-[-]ni 启用/禁用网络接口查询。
-reg <path [path [...]]> 要收集的注册表值。
-mgt <query [query [...]]> 要收集的 WMI 对象。
-ftc <path [path [...]]> 要收集的文件的完整路径。
选项:
-? 显示跟上下文相关的帮助。
-s <computer> 在指定的远程系统上执行命令。
-config <文件名> 含有命令选项的设置文件。
[-n] <name> 目标对象的名称。
-pid <pid> 进程标识符。
-xml <文件名> 要导入或导出的 XML 文件的名称。
-as 异步执行请求的操作。
-[-]u <user [password]> Run As 的用户。输入 * 生成密码提示。如果在密
码提示处键入,密码则不会得到显示。
-m <[start] [stop]> 改为手动启动或停止,而不使用计划的开始或结束
时间。
-rf <[[hh:]mm:]ss> 以一定的时间运行数据收集程序。
-b <yyyy-MM-dd ddd H:mm:ss[上午|下午]> 在指定时间开始数据收集程序。
-e <yyyy-MM-dd ddd H:mm:ss[上午|下午]> 在指定时间结束数据收集程序。
-o <path|dsn!log> 输出日志文件的路径或 SQL 数据库中的 DSN 和日
志集名称。默认路径为
"%systemdrive%\PerfLogs\Admin"。
-[-]r 每天在指定的开始时间和结束时间重复数据收集程
序操作。
-[-]a 附到现有日志文件。
-[-]ow 覆盖现有的日志文件。
-[-]v <nnnnnn|mmddhhmm> 将文件版本信息附到日志名结尾。
-[-]rc <task> 每次关闭日志时运行指定的命令。
-[-]max <值> 日志文件最大值(MB)或 SQL 日志的记录数量。
-[-]cnf <[[hh:]mm:]ss> 指定时间已过或超过最大大小值时,创建新文件。
-y 不用提示对所有问题都回答 yes。
-fd 将现有事件跟踪会话的所有活动缓冲区刷新到磁盘。
-ets 不保存或计划就将命令直接发送到事件跟踪会话。
注意:
列出 [-] 的地方,一个多余的 - 会否定选项。
例如,--u 会关闭 -u 选项。
详细信息:
Microsoft TechNet - https://go.microsoft.com/fwlink/?LinkID=136332
示例:
logman start perf_log
logman update perf_log -si 10 -f csv -v mmddhhmm
logman create counter perf_log -c "\Processor(_Total)\% Processor Time"
logman create counter perf_log -c "\Processor(_Total)\% Processor Time" -max 10 -rf 01:00
logman create trace trace_log -nb 16 256 -bs 64 -o c:\logfile
logman create alert new_alert -th "\Processor(_Total)\% Processor Time>50"
logman create cfg cfg_log -reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\"
logman create cfg cfg_log -mgt "root\cimv2:SELECT * FROM Win32_OperatingSystem"
logman query providers
logman query providers Microsoft-Windows-Diagnostics-Networking
logman start process_trace -p Microsoft-Windows-Kernel-Process 0x10 win:Informational -ets
logman start usermode_trace -p "Service Control Manager Trace" -ul -ets
logman query usermode_trace -p "Service Control Manager Trace" -ul -ets
logman stop usermode_trace -p "Service Control Manager Trace" -ul -ets
logman start process_trace -p Microsoft-Windows-Kernel-Process -mode newfile -max 1 -o output%d.etl -ets
logman start "NT Kernel Logger" -o log.etl -ets
logman start "NT Kernel Logger" -p "Windows Kernel Trace" (process,thread) -ets
logman 是 Windows 操作系统中用于管理性能日志和跟踪的命令行工具。通过 logman,用户可以创建、启动、停止、删除和管理性能日志和事件跟踪。它提供了灵活的命令选项,可以用于多种系统监控和性能诊断任务。
以下是 logman 命令按功能分类的表格化总结:
logman 按功能分类表
| 功能类别 | 命令/选项 | 说明 | 示例 |
|---|---|---|---|
| 创建和管理日志 | logman create |
创建新的性能日志或跟踪会话。可以指定日志的类型、数据收集方式、数据存储位置等参数。 | logman create counter MyLog -c "\Processor(_Total)\% Processor Time" -s <服务器> |
| 启动日志 | logman start |
启动一个已创建的日志或会话。 | logman start MyLog |
| 停止日志 | logman stop |
停止一个正在运行的日志或会话。 | logman stop MyLog |
| 删除日志 | logman delete |
删除指定的日志或会话。 | logman delete MyLog |
| 显示日志信息 | logman query |
查询并显示当前存在的日志或会话信息。 | logman query MyLog |
| 导出日志配置 | logman export |
导出日志会话的配置为文件,方便备份和共享配置。 | logman export -n MyLog -f MyLogConfig.xml |
| 导入日志配置 | logman import |
从文件导入日志会话配置,恢复已保存的配置。 | logman import -f MyLogConfig.xml |
| 显示帮助信息 | logman /? |
显示 logman 命令的帮助信息,列出所有支持的选项和命令。 |
logman /? |
| 更改日志配置 | logman update |
更新现有日志会话的配置。 | logman update MyLog -c "\Memory\Available MBytes" |
| 查看日志详细信息 | logman list |
列出所有当前的日志会话,显示其详细信息。 | logman list |
| 显示性能计数器 | logman counters |
显示当前可用的性能计数器列表。 | logman counters |
功能描述
-
创建和管理日志
logman create用于创建新的日志会话或数据收集会话。用户可以指定性能计数器、事件跟踪等多种数据源类型,以及日志的存储位置和格式。该命令为性能监控和诊断提供了灵活的配置选项。
-
启动日志
logman start命令用于启动一个已经创建的日志会话或性能跟踪会话,开始数据收集过程。
-
停止日志
logman stop用于停止一个正在收集数据的日志会话或跟踪会话,结束数据收集并将数据保存到指定的位置。
-
删除日志
logman delete删除指定的日志或跟踪会话,清理不再需要的日志配置。
-
显示日志信息
logman query查询并显示有关指定日志会话的详细信息,包括会话的状态、收集的数据等。
-
导出日志配置
logman export将日志会话的配置导出为文件,方便备份或共享给其他用户。可以保存为 XML 格式的文件。
-
导入日志配置
logman import从外部文件中导入日志会话的配置,恢复之前的设置,适用于在不同的机器或环境中复用配置。
-
显示帮助信息
logman /?命令提供帮助信息,列出所有支持的命令和选项,帮助用户了解如何使用logman工具。
-
更改日志配置
logman update命令允许用户修改已经创建的日志会话的配置,例如添加或删除计数器、修改日志文件的存储路径等。
-
查看日志详细信息
logman list列出当前所有的日志会话及其相关详细信息,包括日志的状态、收集的计数器等。
- 显示性能计数器
logman counters显示当前系统中可用的所有性能计数器,帮助用户了解可以监控哪些系统指标。
示例命令
-
创建一个性能计数器日志
bashCopy Codelogman create counter MyLog -c "\Processor(_Total)\% Processor Time" -s <服务器>该命令创建一个性能计数器日志会话,监控
\Processor(_Total)\% Processor Time。 -
启动日志会话
bashCopy Codelogman start MyLog启动名为
MyLog的日志会话,开始数据收集。 -
停止日志会话
bashCopy Codelogman stop MyLog停止名为
MyLog的日志会话,结束数据收集。 -
删除日志会话
bashCopy Codelogman delete MyLog删除名为
MyLog的日志会话。 -
查询日志信息
bashCopy Codelogman query MyLog查询并显示名为
MyLog的日志会话信息。 -
导出日志配置
bashCopy Codelogman export -n MyLog -f MyLogConfig.xml将
MyLog的配置导出为 XML 格式的文件MyLogConfig.xml。 -
导入日志配置
bashCopy Codelogman import -f MyLogConfig.xml从
MyLogConfig.xml文件中导入日志会话配置。 -
查看所有可用的性能计数器
bashCopy Codelogman counters显示所有可用的性能计数器列表。
logman 是一个功能强大的命令行工具,用于管理和监控系统的性能日志和事件跟踪。通过 logman,用户可以创建、启动、停止、查询、导入、导出以及删除日志会话,是进行系统性能分析和诊断的重要工具。
参考资料:
C:\Users\Administrator>typeperf /?
Microsoft ® TypePerf.exe
Typeperf 将性能数据写入命令窗口或日志文件。要停止 Typeperf,请按 CTRL+C.
用法:
typeperf { <counter [counter ...]> | -cf <filename> | -q [object] | -qx [object] } [options]
参数:
<counter [counter ...]> 要监视的性能计数器。
选项:
-? 显示跟上下文相关的帮助。
-f <CSV|TSV|BIN|SQL> 输出文件格式。默认值是 CSV。
-cf <filename> 含有监视的性能计数器的文件,一个计数器一行。
-si <[[hh:]mm:]ss> 示例间的时间。默认值是 1 秒。
-o <filename> 输出文件或 SQL 数据库的路径。默认值为 STDOUT。
-q [object] 列出已安装的计数器(无实例)。要列出某个对象的计数器,包括对象名,如 Processor。
-qx [object] 列出已安装的计数器(带实例)。要列出某个对象的计数器,包括对象名,如 Processor。
-sc <samples> 要收集的示例数量。默认值为,在 CTRL+C 之前都进行采样。
-config <filename> 含有命令选项的设置文件。
-s <computer_name> 在计数器路径中没有指定服务器的情况下要监视的服务器。
-y 不用提示对所有问题都回答 yes。
注意:
Counter 是性能计数器的全名,格式为
"\\<Computer>\<Object>(<Instance>)\<Counter>";
例如 "\\Server1\Processor(0)\% User Time"。
示例:
typeperf "\Processor(_Total)\% Processor Time"
typeperf -cf counters.txt -si 5 -sc 50 -f TSV -o domain2.tsv
typeperf -qx PhysicalDisk -o counters.txt
------------
启用或禁用**CPU**性能计数器,您可以使用以下命令:
lodctr /R:重新加载所有性能计数器。这会重新加载注册表中的性能计数器配置,默认情况下会启用CPU性能计数器。
unlodctr /M:PerfOS:禁用CPU性能计数器。此命令会重新加载 PerfOS.ini 文件,并禁用其中定义的所有CPU性能计数器。
------------
要启用或禁用**内存**性能计数器,您可以使用以下命令:
lodctr /M:PerfOS:启用内存性能计数器。此命令会重新加载 PerfOS.ini 文件,并启用其中定义的所有内存性能计数器。
unlodctr /M:PerfOS:禁用内存性能计数器。此命令会重新加载 PerfOS.ini 文件,并禁用其中定义的所有内存性能计数器。
------------
要启用或禁用**磁盘**性能计数器,您可以使用以下命令:
diskperf -y:启用所有逻辑磁盘的性能计数器。此命令会打开注册表中的 DiskPerf 项,并将其值设置为 1。
diskperf -n:禁用所有逻辑磁盘的性能计数器。此命令会关闭注册表中的 DiskPerf 项,并将其值设置为 0。
diskperf -yv:启用所有逻辑磁盘的性能计数器,并显示详细的 I/O 统计信息。此命令会打开注册表中的 DiskPerf 项,并将其值设置为 2。
diskperf -nv:禁用所有逻辑磁盘的性能计数器,并不显示详细的 I/O 统计信息。此命令会关闭注册表中的 DiskPerf 项,并将其值设置为 0
参考资料:
C:\Users\Administrator>diskperf /?
DISKPERF [-Y[D|V] | -N[D|V]] [\\computername]
-Y 在系统重新启动时,将系统设为开启所有磁盘性能计数器。
-YD 在系统重新启动时,启用物理驱动器的磁盘性能计数器。
-YV 当系统重新启动时,启用逻辑驱动器的磁盘性能计数器或存储数值。
-N 当系统重新启动时,将系统设为禁用所有磁盘性能计数器。
-ND 禁用物理驱动器的磁盘性能计数器。
-NV 禁用逻辑驱动器的磁盘性能计数器。
\\computername 这是你想见的计算机名或设定使用磁盘性能计数器。
计算机必须是 Windows 2000 系统。
注意: 磁盘性能计数器在 Windows 2000 以后的系统上总是处于启用状态。
------------
启用或禁用**网卡**性能计数器,您可以使用以下命令:
lodctr /q
lodctr /N:启用所有网卡性能计数器。此命令会重新加载注册表中的性能计数器配置,并启用其中定义的所有网卡性能计数器。
unlodctr /N:禁用所有网卡性能计数器。此命令会重新加载注册表中的性能计数器配置,并禁用其中定义的所有网卡性能计数器。
------------
启用或禁用**显卡**性能计数器,您可以使用以下命令:
lodctr /M:PerfGraphics:启用显卡性能计数器。此命令会重新加载 PerfGraphics.ini 文件,并启用其中定义的所有显卡性能计数器。
unlodctr /M:PerfGraphics:禁用显卡性能计数器。此命令会重新加载 PerfGraphics.ini 文件,并禁用其中定义的所有显卡性能计数器。
------------
参考资料:
C:\Users\Administrator>lodctr /?
LODCTR
更新与性能计数器相关的注册表值。
用法:
LODCTR <INI-filename>
安装计数器文本字符串。
INI 文件名是包含了计数器名称定义的初始化文件的名称,
解释为可扩展计数器 DLL 的文本。
LODCTR /C:<filename>
升级计数器文本字符串使用 <filename>
LODCTR /H:<filename>
升级帮助文本字符串使用 <filename>
LODCTR /L:<LangID>
指定 /c 和 /h 命令的语言
LODCTR /S:<Backup-filename>
将当前的 perf 注册表字符串和信息保存到
<Backup-filename>
LODCTR /R
根据当前注册表设置和备份 INI 文件从头开始重建
perf 注册表。
LODCTR /R:<filename>
使用 <filename> 还原 perf 注册表字符串和信息
LODCTR /T:<service-name>
将指定的性能计数器提供程序设置为受信任。
LODCTR /Q
显示性能计数器提供程序信息。
LODCTR /Q:<service-name>
显示特定提供程序的性能计数器提供程序信息。
LODCTR /E:<service-name>
启用性能计数器提供程序。
LODCTR /D:<service-name>
禁用性能计数器提供程序。
LODCTR /M:<Counter-Manifest> [<Installation-Path>]
使用指定的 XML 清单安装 v 2.0
性能计数器提供程序。
安装需要一个包含性能计数器资源
(本地化字符串) 的 DLL 完整路径。
DLL 的路径将按以下方式来确定:
清单中的 applicationIdentity 属性将使用完整路径。
否则中, 如果提供了 <Installation-Path>,并且是完整路径,
将被使用。
否则中,如果 <Counter-Manifest> 是完整路径,则 <Counter-Manifest>
中的目录将与清单中 applicationIdentity 属性的 DLL
名称进行组合。
否则, 当前目录将与清单中 applicationIdentity 属性的 DLL
名称组合在一起。
注意: 所有名称中带空格的参数都必须用双引号引起来。
------------
perfmon /report:生成性能监视器报告。该命令会收集系统配置信息、性能数据和应用程序信息,并生成一个 HTML 格式的报告,用于分析系统性能瓶颈。
lodctr /S:从指定文件中加载计数器注册表信息。该命令将计数器信息保存到指定的文件中,以备将来导入或加载。
lodctr /R:重新加载 Windows 系统默认的性能计数器注册表信息。该命令可用于解决性能计数器无法正常启动或显示的问题。
relog.exe:更改性能日志文件的格式,合并日志文件或转储日志文件数据。该工具可用于将多个日志文件合并成一个文件,也可以将日志文件转换成不同格式,如 CSV 或 SQL 数据库等。
Microsoft ® Relog.exe (10.0.26100.1150)Relog 通过更改采样率和/或转换文件格式,从现有的性能日志数据创建新的性能日志。支持所有性能日志格式,包括 Windows NT 4.0 压缩日志。 用法:Copy Code
参数说明:
选项:
示例:
这个工具非常有用,可以帮助你将性能日志文件格式进行转换,提取特定的计数器,或者从日志中选择特定的时间段进行分析。 |
|
Relog.exe 是一个用于转换和处理性能日志的工具,主要应用于以下几个场景: 1. 转换性能日志格式
命令示例: Copy Code
2. 筛选特定的性能计数器
命令示例: Copy Code
3. 按时间范围提取数据
命令示例: Copy Code
4. 减少输出文件的大小
命令示例: Copy Code
5. 附加数据到现有日志
命令示例: Copy Code
6. 列出和查看性能计数器
命令示例: Copy Code
7. 批量处理和自动化
命令示例: Copy Code
8. SQL 数据库存储和查询
命令示例: Copy Code
|
tracerpt.exe:将性能日志文件中的数据转换为不同格式的文件。该工具支持多种输出格式,包括文本文件、HTML 文件、XML 文件和 SQL 数据库等。
Microsoft ® TraceRpt.Exe (10.0.26100.1882)用法: Copy Code
选项:
示例:
|
|
TraceRpt.exe 是微软提供的一种用于分析和生成系统性能跟踪报告的工具。它主要用于处理 Windows 操作系统生成的事件跟踪日志(ETL)文件,并生成有用的分析报告。该工具的应用场景主要集中在以下几个方面: 1. 性能诊断与分析
2. 系统故障排查
3. 事件跟踪数据报告
4. 实时监控和分析
5. 日志合并与多源数据分析
6. 导出和转换事件数据
7. 安全和合规性分析
TraceRpt.exe 的主要应用场景集中在 性能监控、故障排查、实时分析、报告生成和数据转换 等领域,适用于需要对系统日志进行深入分析和处理的专业人员。它是帮助 Windows 系统管理员、开发人员和支持工程师深入了解和优化系统的重要工具。 |
Windows 性能计数器还有一些其他的工具和相关命令
perfview:一个跨平台的性能分析工具,可用于诊断和解决 Windows 应用程序的性能问题。perfview 可以收集 CPU 使用率、内存使用情况、磁盘 I/O 活动和网络延迟等详细的性能数据,并生成详细的性能分析报告。
perfmon /sys:打开性能监视器,显示远程计算机的性能计数器数据。通过该命令,您可以监控远程计算机的各种性能指标,如 CPU 使用率、内存使用情况、网络吞吐量和磁盘 I/O 活动等。
PAL(Performance Analysis of Logs):一个基于 PowerShell 的性能分析工具,可用于分析性能日志文件和 Windows 事件日志。PAL 可以通过预定义的阈值和规则来自动检测和诊断 Windows 系统的常见性能问题。
logparser:一个通用的日志分析工具,支持多个不同格式的日志文件,包括性能日志和事件日志等。logparser 可以执行 SQL 查询,并将查询结果输出为文本文件或图表等。
xperf:一个高级的性能分析工具,可用于捕获详细的系统跟踪数据。xperf 可以收集 CPU 使用率、内存使用情况、磁盘 I/O 活动、网络延迟和应用程序性能数据等,以便分析和诊断系统性能问题。
Windows 操作系统提供了一系列自带的性能计数器,用于监控和分析系统资源。以下是系统自带命令和工具的表格化列出,帮助您更好地理解如何使用这些命令来管理和查看性能计数器。
1. perfmon - 性能监视器
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 启动性能监视器 | perfmon |
启动图形化性能监视器界面。 |
| 启动资源监视器 | perfmon /res |
启动性能监视器并显示资源监视器。 |
| 生成性能报告 | perfmon /report |
生成性能报告并显示系统状态。 |
2. logman - 日志管理器
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 查看现有日志集合 | logman query |
显示当前日志集合信息。 |
| 创建性能计数器日志集合 | logman create counter MyLog -c "\Processor(_Total)\% Processor Time" -o "C:\PerfLogs\processor_data.blg" -f bincirc -max 100 |
创建新的性能计数器日志集合。 |
| 启动日志收集 | logman start MyLog |
启动已创建的日志收集。 |
| 停止日志收集 | logman stop MyLog |
停止日志收集。 |
| 删除日志集合 | logman delete MyLog |
删除指定的日志集合。 |
3. typeperf - 性能计数器实时监控
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 实时显示单个性能计数器 | typeperf "\Processor(_Total)\% Processor Time" |
实时显示指定的性能计数器数据。 |
| 将数据保存到文件 | typeperf "\Processor(_Total)\% Processor Time" -o "C:\PerfLogs\cpu_data.csv" |
将实时数据保存到指定文件。 |
| 显示多个计数器数据 | typeperf "\Processor(_Total)\% Processor Time" "\Memory\Available MBytes" |
同时显示多个性能计数器数据。 |
| 设置数据采集间隔 | typeperf "\Processor(_Total)\% Processor Time" -si 10 |
设置数据采集间隔(例如,10秒钟)。 |
4. lodctr - 载入性能计数器定义
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 重新加载所有计数器定义 | lodctr /r |
重新加载所有性能计数器定义。 |
| 加载自定义计数器定义 | lodctr "C:\Path\To\CustomCounters.ini" |
加载指定的计数器定义文件。 |
| 显示已加载的计数器 | lodctr /s |
显示当前加载的所有计数器。 |
| 卸载性能计数器定义 | lodctr /u |
卸载已加载的计数器定义。 |
5. unlodctr - 卸载性能计数器定义
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 卸载指定类别的计数器 | unlodctr "Process" |
卸载指定类别(例如 Process)的所有计数器。 |
| 卸载所有计数器定义 | unlodctr /u |
卸载所有性能计数器定义。 |
6. relog - 转换和筛选性能日志
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 转换日志文件格式 | relog input.blg -f csv -o output.csv |
将 .blg 格式的日志转换为 .csv 格式。 |
| 筛选指定计数器 | relog input.blg -c "\Processor(_Total)\% Processor Time" -o filtered.blg |
筛选指定的计数器并保存到新的日志文件。 |
| 截取指定时间范围的数据 | relog input.blg -b "2024-12-28 09:00:00" -e "2024-12-28 18:00:00" -o time_filtered.blg |
按时间范围截取数据。 |
| 追加数据到现有日志 | relog new_log.blg -a -o existing_log.blg |
将新日志追加到现有日志文件。 |
7. tracerpt - 事件跟踪报告生成器
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 生成事件跟踪报告 | tracerpt MyTraceFile.etl -o MyReport.xml |
从 .etl 文件生成 XML 格式的报告。 |
| 生成 HTML 格式报告 | tracerpt MyTraceFile.etl -o MyReport.html -of HTML |
从 .etl 文件生成 HTML 格式的报告。 |
| 筛选时间段的数据 | tracerpt MyTraceFile.etl -s "2024-12-28 09:00:00" -e "2024-12-28 18:00:00" -o FilteredReport.xml |
按时间段筛选数据并生成报告。 |
8. perfmon (高级功能) - 性能监控设置
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 创建自定义数据收集器 | perfmon /collect"DataCollectorSetName" |
创建和配置一个自定义的数据收集器。 |
| 设置数据收集器 | perfmon /set "DataCollectorSetName" |
设置指定的数据收集器的收集策略。 |
9. pslist - 进程和线程信息 (Sysinternals工具)
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 显示进程列表 | pslist |
显示当前所有运行的进程及其详细信息。 |
| 显示指定进程的详细信息 | pslist <ProcessName> |
显示特定进程的详细信息(例如 pslist chrome)。 |
这些命令和工具允许您以多种方式收集、查看、分析和管理 Windows 系统的性能数据。您可以通过命令行工具(如 typeperf、logman 和 relog)来实时监控、配置日志、转换日志格式等。而图形化工具 perfmon 则适用于日常的性能监控和报告生成。在处理日志和事件数据时,relog 和 tracerpt 是非常有用的工具。
通过这些命令和工具的结合使用,您可以全面了解系统的运行状况,进行问题诊断、性能优化和报告生成。
一些常见的 Windows 系统命令补充:
1. 系统管理类命令
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 系统信息显示 | systeminfo |
显示系统的详细配置信息,包括操作系统版本、硬件、网络适配器等。 |
| 任务管理器启动 | taskmgr |
启动任务管理器,用于查看和管理当前的进程、性能、应用等。 |
| 事件查看器启动 | eventvwr |
启动事件查看器,查看系统日志、应用程序日志、安全日志等。 |
| 注册表编辑器启动 | regedit |
启动注册表编辑器,用于查看和编辑系统注册表。 |
| 服务管理器启动 | services.msc |
启动服务管理器,查看和管理系统服务。 |
| 本地安全策略 | secpol.msc |
启动本地安全策略管理工具,用于配置本地计算机的安全策略。 |
| 计算机管理工具 | compmgmt.msc |
启动计算机管理工具,可以管理磁盘、事件查看器、服务、用户等。 |
| 磁盘管理工具 | diskmgmt.msc |
启动磁盘管理工具,进行磁盘分区、格式化、驱动器管理等操作。 |
| 文件资源管理器 | explorer |
启动文件资源管理器,浏览计算机中的文件和文件夹。 |
| 磁盘清理 | cleanmgr |
启动磁盘清理工具,清理临时文件、系统文件、回收站等。 |
| 用户账户管理 | net user |
显示或管理用户账户信息,如添加、删除、修改用户账户等。 |
| 文件或目录压缩 | compress |
用于压缩文件或目录,使其减少存储空间。 |
2. 网络相关命令
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 查看网络连接状态 | ipconfig |
显示当前网络适配器的 IP 地址、子网掩码、默认网关等信息。 |
| 刷新网络连接 | ipconfig /release 或 ipconfig /renew |
释放或更新 DHCP 配置的 IP 地址。 |
| 查看 DNS 配置 | ipconfig /displaydns |
显示 DNS 解析缓存。 |
| 测试网络连接 | ping <IP 地址或域名> |
测试到指定地址的网络连通性。 |
| 路由表显示 | route print |
显示当前的网络路由表。 |
| 路由配置 | route add 或 route delete |
添加或删除静态路由。 |
| 网络端口检测 | netstat |
显示所有活动的网络连接、端口、协议等信息。 |
| 测试远程主机端口 | telnet <IP 地址> <端口> |
测试到远程主机特定端口的连接(如果启用 Telnet 客户端)。 |
| 跟踪路由 | tracert <域名或IP> |
显示到目标主机的路由路径,帮助诊断网络问题。 |
| 域名解析 | nslookup <域名> |
查询 DNS 记录,帮助诊断 DNS 问题。 |
| 查看共享文件 | net share |
显示当前计算机上共享的文件夹和资源。 |
| 启动远程桌面连接 | mstsc |
启动远程桌面连接工具,连接远程计算机。 |
3. 文件操作命令
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 复制文件或目录 | xcopy |
复制文件和目录,支持更复杂的复制操作。 |
| 移动文件或目录 | move |
移动文件或目录。 |
| 删除文件或目录 | del 或 erase |
删除指定文件。 |
| 删除目录 | rmdir 或 rd |
删除指定目录。 |
| 创建目录 | mkdir 或 md |
创建一个新目录。 |
| 查看目录内容 | dir |
列出当前目录中的文件和文件夹。 |
| 文件内容查找 | find |
查找文件中的指定文本内容。 |
| 文件内容替换 | findstr |
使用正则表达式在文件中查找文本。 |
| 查看文件属性 | attrib |
查看文件或目录的属性,如是否为隐藏、只读等。 |
| 计算目录大小 | dir /s |
显示指定目录及其子目录中所有文件的总大小。 |
4. 系统工具命令
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 硬盘碎片整理 | defrag |
对指定磁盘进行碎片整理。 |
| 系统文件检查 | sfc /scannow |
检查并修复系统文件中的问题。 |
| 磁盘错误检查 | chkdsk |
检查磁盘错误并修复。 |
| 查看系统运行时信息 | tasklist |
显示当前运行的所有进程的列表。 |
| 终止进程 | taskkill /PID <进程ID> 或 taskkill /IM <进程名> |
终止指定的进程。 |
| 设备管理器 | devmgmt.msc |
启动设备管理器,管理计算机中的硬件设备。 |
| 资源监视器 | resmon |
启动资源监视器,查看 CPU、内存、磁盘和网络的使用情况。 |
5. Windows 功能和应用程序
| 功能 | 命令或参数 | 说明 |
|---|---|---|
| 打开控制面板 | control |
打开控制面板。 |
| 打开 Windows 设置 | ms-settings |
打开 Windows 设置窗口。 |
| 开启远程桌面 | sysdm.cpl |
打开系统属性窗口,配置远程桌面等设置。 |
| 打开注册表编辑器 | regedit |
打开注册表编辑器,管理注册表项。 |
| 启动计算器 | calc |
启动计算器应用程序。 |
| 启动便签 | stickynotes |
启动 Windows 便签应用程序。 |
| 打开任务调度程序 | taskschd.msc |
启动任务调度程序,用于管理计划任务。 |
这些命令覆盖了 Windows 操作系统的多个管理和维护方面,包括系统信息、网络诊断、文件操作、系统工具等。通过这些命令,您可以方便地进行日常管理、问题排查和系统优化。这些命令可通过 命令提示符 (CMD) 或 PowerShell 来执行,并且它们都能有效帮助管理员和用户提高工作效率,确保系统的正常运行。
Network Interface性能对象的相关计数器,已表格化,并包含指标、阈值和诊断信息:
| 计数器 | 对象指标 | 阈值 | 诊断 |
|---|---|---|---|
| Bytes Received/sec | 每秒接收字节数 | 根据网络带宽设定,通常不超过最大带宽 | 接收字节过多可能导致带宽瓶颈,检查接收流量或网络配置。 |
| Bytes Sent/sec | 每秒发送字节数 | 根据网络带宽设定,通常不超过最大带宽 | 发送字节过多可能导致带宽瓶颈,检查发送流量或网络配置。 |
| Bytes Total/sec | 每秒总字节数 | 应与发送和接收字节数相符 | 如果总字节数异常高,可能是数据传输异常或网络攻击,需排查网络流量。 |
| Current Bandwidth | 当前带宽 | 根据网络接口的最大带宽设定 | 如果带宽过低,可能会影响网络性能,需检查网络提供商或硬件配置。 |
| Offloaded Connections | 卸载连接数 | 根据硬件支持和网络负载进行调整 | 如果卸载连接数过少,可能说明硬件加速未启用,考虑启用TCP卸载。 |
| Output Queue Length | 输出队列长度 | 应保持在合理范围内,如小于10 | 输出队列长度过长可能表示网络堵塞或带宽不足,检查数据流量。 |
| Packets Outbound Discarded | 丢弃的发送数据包数 | 尽量为零 | 丢包可能是由于网络拥堵、带宽不足或传输错误导致,需排查网络配置。 |
| Packets Outbound Errors | 发送数据包错误数 | 应保持为零 | 错误数据包可能表示网络硬件问题或驱动不兼容,检查网络设备和驱动。 |
| Packets Received Discarded | 丢弃的接收数据包数 | 尽量为零 | 丢包可能是由于接收缓冲区满或网络不稳定,检查网络硬件配置。 |
| Packets Received Errors | 接收数据包错误数 | 应保持为零 | 接收错误可能表示网络质量差或驱动问题,需检查接收设备和网络环境。 |
| Packets Received Non-Unicast/sec | 每秒接收的非单播数据包数 | 根据网络流量设定,通常较低 | 非单播流量过高可能影响性能,检查应用或网络拓扑配置。 |
| Packets Received Unicast/sec | 每秒接收的单播数据包数 | 根据网络流量设定,通常较高 | 单播流量过高可能表示网络拥塞或通信不均衡,检查负载分配策略。 |
| Packets Received Unknown | 每秒接收的未知类型数据包数 | 应尽量为零 | 未知数据包可能表示网络攻击或协议不匹配,需检查网络安全配置。 |
| Packets Received/sec | 每秒接收数据包数 | 根据网络流量设定,通常与发送数据包数匹配 | 如果接收包数异常,可能是恶意流量或网络错误,需进行流量分析。 |
| Packets Sent Non-Unicast/sec | 每秒发送的非单播数据包数 | 应根据网络应用需求设定 | 非单播发送包数过高可能影响网络性能,检查发送应用和协议栈配置。 |
| Packets Sent Unicast/sec | 每秒发送的单播数据包数 | 应根据正常流量设定 | 单播包数过高可能表示网络不平衡,需优化流量分配。 |
| Packets Sent/sec | 每秒发送数据包数 | 根据网络带宽设定 | 发送数据包数过高可能影响其他应用的网络带宽,检查发送流量。 |
| Packets/sec | 每秒数据包数 | 根据网络带宽和流量需求设定 | 数据包速率过高可能表示网络拥堵,需调整负载或带宽分配。 |
| TCP Active RSC Connections | 活跃的TCP RSC连接数 | 根据实际需求设定 | 活跃的RSC连接数过多可能会增加系统负载,检查TCP卸载和流量控制。 |
| TCP RSC Average Packet Size | TCP RSC平均数据包大小 | 根据网络流量优化设置,通常在1500字节左右 | 平均包大小过小或过大可能影响网络效率,需优化数据包大小。 |
| TCP RSC Coalesced Packets/sec | 每秒合并的TCP RSC数据包数 | 根据网络和应用流量需求设定 | 如果数据包合并过少,可能表示RSC优化不足,需调整协议栈或硬件支持。 |
| TCP RSC Exceptions/sec | 每秒TCP RSC异常数 | 应保持为零 | 异常数过多可能表示协议栈或硬件加速配置问题,需检查网络堆栈和硬件。 |
这些计数器帮助监控网络接口的性能,包括数据包传输、错误、队列长度等,能够有效诊断潜在的网络瓶颈或故障。
“Network Interface”性能计数器信息整理的监控与诊断表格。
网络接口性能监控与诊断指标表
| 类别 | 计数器 | 指标说明 | 阈值建议 | 诊断与建议 |
|---|---|---|---|---|
| 带宽与吞吐量 | Bytes Received/sec | 每秒接收的字节数。 | 持续接近或超过带宽的70% | 可能表示网络接入带宽不足,或存在大量下载/上行流量。需要排查流量来源。 |
| Bytes Sent/sec | 每秒发送的字节数。 | 持续接近或超过带宽的70% | 可能表示网络接入带宽不足,或存在大量上传/下行流量。需要排查流量来源。 | |
| Bytes Total/sec | 每秒发送和接收的总字节数。 | 持续接近或超过带宽的70% | 网络接口总负载过高,是衡量网络负载的关键指标。 | |
| Current Bandwidth | 网络接口的当前估计带宽(比特/秒)。 | 固定值(如1Gbps) | 此为参考值,用于计算其他计数器的利用率。 | |
| 队列与拥塞 | Output Queue Length | 输出数据包队列的长度(以数据包计)。 | 持续 > 2 | 表示网络接口卡(NIC)无法跟上操作系统发送数据包的速度。可能是CPU繁忙、网络路径拥塞或远程系统接收缓慢的迹象。 |
| 错误与丢包 | Packets Outbound Discarded | 出站方向已丢弃的数据包数。 | 持续增加,或相对于Packets Sent/sec比例高 | 通常由于缓冲区空间不足,是网络拥塞或系统资源不足的明确信号。 |
| Packets Outbound Errors | 出站方向由于错误无法传输的数据包数。 | 应接近0 | 通常指示本地硬件、驱动程序或网络连接(如网线、交换机端口)问题。 | |
| Packets Received Discarded | 入站方向已丢弃的数据包数。 | 持续增加,或相对于Packets Received/sec比例高 | 可能由于系统资源(如CPU)不足无法处理,或协议栈缓冲区满。 | |
| Packets Received Errors | 入站方向包含错误无法上传的数据包数。 | 应接近0 | 通常指示本地硬件、驱动程序、网络连接问题,或与远程发送方的双工模式不匹配。 | |
| Packets Received Unknown | 接收到的未知或不支持的协议数据包数。 | 应接近0 | 通常很少见,可能由协议错误或恶意流量导致。 | |
| 数据包流量细分 | Packets Received Unicast/sec | 每秒接收的单播数据包数。 | 根据应用和网络规模设定 | 正常的点对点通信流量。 |
| Packets Received Non-Unicast/sec | 每秒接收的非单播(广播/多播)数据包数。 | 不应过高(如每秒数千个) | 广播风暴或多播应用配置不当会导致网络和系统性能严重下降。 | |
| Packets Sent Unicast/sec | 每秒发送的单播数据包数。 | 根据应用和网络规模设定 | 正常的点对点通信流量。 | |
| Packets Sent Non-Unicast/sec | 每秒发送的非单播(广播/多播)数据包数。 | 不应过高(如每秒数千个) | 通常数量较少,过高可能表示应用或配置问题。 | |
| Packets/sec | 每秒处理的数据包总数。 | 根据NIC和处理能力设定 | 过高的PPS可能导致CPU成为瓶颈。 | |
| TCP卸载与优化 | Offloaded Connections | 通过TCP/IP卸载引擎处理的连接数。 | 监控趋势 | TOE通过网卡硬件分担CPU负载,数值增加表明卸载功能正常工作。 |
| TCP RSC Coalesced Packets/sec | 接收端调整(RSC)每秒合并的数据包数。 | 数值越高越好 | 表示RSC功能有效,通过合并数据包减少了CPU处理开销。 | |
| TCP RSC Exceptions/sec | RSC无法合并数据包的速率。 | 数值越低越好 | 例外过多会削弱RSC的优势,可能与特定流量模式或网络状况有关。 | |
| TCP RSC Average Packet Size | RSC合并后数据包的平均大小。 | 数值越大越好 | 表示合并效率高,平均包大小越接近MTU(如1500字节)越好。 |
此表格系统性地分类和整理了网络接口的性能计数器,涵盖了吞吐量、拥塞、错误、流量类型和硬件卸载等关键方面。通过监控这些指标,可以全面评估网络接口的健康状况和性能瓶颈,快速定位是由带宽、硬件、配置还是系统资源引起的网络问题。阈值需根据具体网络环境和应用类型进行调整。
Windows 性能监视器计数器-服务
| 计数器 -名称 | 计数器-描述 |
|---|---|
| Server | 服务相关计数器 |
| Blocking Requests Rejected | 被拒绝的阻塞请求 |
| Bytes Received/sec | 每秒接收字节数 |
| Bytes Total/sec | 每秒总字节数 |
| Bytes Transmitted/sec | 每秒传输字节数 |
| Context Blocks Queued/sec | 每秒排队的上下文块数量 |
| Errors Access Permissions | 访问权限错误 |
| Errors Granted Access | 被授予访问权限的错误 |
| Errors Logon | 登录错误 |
| Errors System | 系统错误 |
| File Directory Searches | 文件目录搜索数 |
| Files Open | 打开的文件数量 |
| Files Opened Total | 打开文件的总数量 |
| Logon Total | 总登录次数 |
| Logon/sec | 每秒登录次数 |
| Pool Nonpaged Bytes | 非分页池字节数 |
| Pool Nonpaged Failures | 非分页池失败次数 |
| Pool Nonpaged Peak | 非分页池峰值字节数 |
| Pool Paged Bytes | 分页池字节数 |
| Pool Paged Failures | 分页池失败次数 |
| Pool Paged Peak | 分页池峰值字节数 |
| Reconnected Durable Handles | 重连的持久句柄数量 |
| Reconnected Resilient Handles | 重连的弹性句柄数量 |
| Server Sessions | 服务器会话数量 |
| Sessions Errored Out | 会话错误次数 |
| Sessions Forced Off | 被强制断开的会话数量 |
| Sessions Logged Off | 已注销的会话数量 |
| Sessions Timed Out | 会话超时次数 |
| SMB BranchCache Hash Bytes Sent | 发送的 SMB BranchCache 哈希字节数 |
| SMB BranchCache Hash Generation Requests | SMB BranchCache 哈希生成请求次数 |
| SMB BranchCache Hash Header Requests | SMB BranchCache 哈希头请求次数 |
| SMB BranchCache Hash Requests Received | 接收到的 SMB BranchCache 哈希请求次数 |
| SMB BranchCache Hash Responses Sent | 发送的 SMB BranchCache 哈希响应次数 |
| SMB BranchCache HashV2 Bytes Sent | 发送的 SMB BranchCache HashV2 哈希字节数 |
| SMB BranchCache Hash V2 Generation Requests | SMB BranchCache Hash V2 生成请求次数 |
| SMB BranchCache Hash V2 Header Requests | SMB BranchCache Hash V2 头请求次数 |
| SMB BranchCache Hash V2 Requests Received | 接收到的 SMB BranchCache Hash V2 请求次数 |
| SMB BranchCache Hash V2 Requests Served From Dedup | 从去重中提供的 SMB BranchCache Hash V2 请求次数 |
| SMB BranchCache Hash V2 Responses Sent | 发送的 SMB BranchCache Hash V2 响应次数 |
| Total Durable Handles | 总持久句柄数量 |
| Total Resilient Handles | 总弹性句柄数量 |
| Work Item Shortages | 工作项短缺次数 |
这个表格列出了不同的性能监控计数器及其对应的描述。每个计数器反映了 Windows 服务器或 SMB 服务的各种性能指标,可以帮助系统管理员进行故障排除和性能优化。
Windows 性能监视器计数器 System 部分的表格化翻译:
| 名称 | 描述 |
|---|---|
| % Registry Quota In Use | 注册表配额使用百分比 |
| Alignment Fixups/sec | 每秒对齐修正次数 |
| Context Switches/sec | 每秒上下文切换次数 |
| Exception Dispatches/sec | 每秒异常分派次数 |
| File Control Bytes/sec | 每秒文件控制字节数 |
| File Control Operations/sec | 每秒文件控制操作数 |
| File Data Operations/sec | 每秒文件数据操作次数 |
| File Read Bytes/sec | 每秒文件读取字节数 |
| File Read Operations/sec | 每秒文件读取操作次数 |
| File Write Bytes/sec | 每秒文件写入字节数 |
| File Write Operations/sec | 每秒文件写入操作次数 |
| Floating Emulations/sec | 每秒浮动仿真次数 |
| Processes | 当前进程数 |
| Processor Queue Length | 处理器队列长度 |
| System Calls/sec | 每秒系统调用次数 |
| System Up Time | 系统启动时间 |
| Threads | 当前线程数 |
这个表格列出了与 System 相关的性能监视器计数器,它们可以用来监控系统的整体性能,特别是与文件操作、进程、线程和系统调用等相关的活动。
Server计数器的表格,包含了计数器名称、指标、阈值、诊断。
| 计数器名称 (Counter Name) | 指标 (Metric) | 阈值 (Threshold) | 诊断 (Diagnostic) |
|---|---|---|---|
| Blocking Requests Rejected | 被拒绝的阻塞请求数量 | 根据系统负载而定 | 阻塞请求数量过高可能表示资源不足或网络瓶颈,优化服务器资源分配。 |
| Bytes Received/sec | 每秒接收的字节数 | 根据系统需求而定 | 高接收流量可能表示网络瓶颈或大量数据传输,优化网络带宽或调整数据流量。 |
| Bytes Total/sec | 每秒总字节数 | 根据系统需求而定 | 总流量过大时可能需要评估带宽负载,优化传输方式或进行流量控制。 |
| Bytes Transmitted/sec | 每秒传输的字节数 | 根据系统需求而定 | 频繁的字节传输可能表示数据传输密集,优化数据发送策略或增加带宽。 |
| Context Blocks Queued/sec | 每秒队列中的上下文块数 | 小于50个/秒 | 队列积压过多可能导致性能瓶颈,检查上下文切换操作并优化队列管理。 |
| Errors Access Permissions | 访问权限错误次数 | 小于10次/秒 | 频繁的访问权限错误可能表示权限配置问题,检查和优化权限设置。 |
| Errors Granted Access | 授予访问权限的错误次数 | 小于10次/秒 | 高授予访问错误表示授权问题,检查权限分配和认证机制。 |
| Errors Logon | 登录错误次数 | 小于5次/秒 | 登录错误次数过多表示认证系统或网络问题,检查登录流程和安全设置。 |
| Errors System | 系统错误次数 | 小于10次/秒 | 高频系统错误可能表示系统故障,检查系统日志并进行排错。 |
| File Directory Searches | 文件目录搜索次数 | 小于50次/秒 | 频繁的目录搜索可能影响性能,优化文件目录结构或使用缓存机制。 |
| Files Open | 当前打开的文件数量 | 根据应用需求而定 | 打开文件过多可能导致系统资源不足,优化文件管理策略。 |
| Files Opened Total | 文件总打开次数 | 根据应用需求而定 | 高频繁的文件打开操作可能表示I/O瓶颈,考虑使用缓存或优化文件访问。 |
| Logon Total | 总登录次数 | 根据需求而定 | 总登录次数过多可能影响性能,分析登录模式并优化认证系统。 |
| Logon/sec | 每秒登录次数 | 小于5次/秒 | 高频率登录可能导致系统压力,优化登录流程或增加认证机制的效率。 |
| Pool Nonpaged Bytes | 非分页池字节数 | 小于100MB | 非分页池字节数过高可能表示内存使用过多,检查内存管理和优化资源分配。 |
| Pool Nonpaged Failures | 非分页池分配失败次数 | 小于10次/秒 | 非分页池分配失败可能表示内存压力,增加内存或优化内存管理。 |
| Pool Nonpaged Peak | 非分页池最大使用量 | 根据系统内存容量而定 | 非分页池峰值过高表示内存使用过度,考虑增加内存或调整池的大小。 |
| Pool Paged Bytes | 分页池字节数 | 小于100MB | 分页池过大可能影响性能,优化内存分页策略或增加内存。 |
| Pool Paged Failures | 分页池分配失败次数 | 小于10次/秒 | 分页池分配失败表示内存不足,考虑增加内存或优化内存管理。 |
| Pool Paged Peak | 分页池最大使用量 | 根据系统内存容量而定 | 分页池使用过高时,系统可能需要更多内存,优化分页池配置。 |
| Reconnected Durable Handles | 重连的持久句柄数量 | 根据系统需求而定 | 频繁的持久句柄重连表示连接问题,优化持久句柄的管理和连接重试机制。 |
| Reconnected Resilient Handles | 重连的弹性句柄数量 | 根据系统需求而定 | 弹性句柄重连过多表示网络或资源问题,检查句柄管理和网络连接。 |
| Server Sessions | 当前会话数量 | 根据系统需求而定 | 会话数量过多可能影响服务器性能,适当控制会话数并优化资源分配。 |
| Sessions Errored Out | 错误会话数量 | 小于5个/秒 | 错误会话过多可能表示连接问题,检查会话管理和认证设置。 |
| Sessions Forced Off | 强制断开的会话数量 | 小于5个/秒 | 强制断开会话表示资源过载或网络问题,检查服务器负载和连接策略。 |
| Sessions Logged Off | 登出会话数量 | 根据需求而定 | 高频登出会话可能表示用户操作频繁或服务器资源问题,检查会话管理。 |
| Sessions Timed Out | 会话超时次数 | 小于5次/秒 | 高频会话超时可能表示网络延迟或连接不稳定,优化网络和会话管理。 |
| SMB BranchCache Hash Bytes Sent | SMB BranchCache发送的哈希字节数 | 小于5000字节/秒 | 大量BranchCache哈希数据传输可能影响网络,考虑优化传输或调整缓存策略。 |
| SMB BranchCache Hash Generation Requests | SMB BranchCache哈希生成请求次数 | 小于100次/秒 | 高频生成请求表示缓存管理压力,优化哈希生成算法或增加缓存池大小。 |
| SMB BranchCache Hash Header Requests | SMB BranchCache哈希头部请求次数 | 小于100次/秒 | 高频哈希头请求可能表示缓存负载过高,检查缓存策略和优化数据处理。 |
| SMB BranchCache Hash Requests Received | SMB BranchCache接收的哈希请求次数 | 小于100次/秒 | 接收大量哈希请求时,优化BranchCache策略和数据分配。 |
| SMB BranchCache Hash Responses Sent | SMB BranchCache哈希响应发送次数 | 小于100次/秒 | 高响应发送次数可能表示缓存处理延迟,优化响应生成机制。 |
| SMB BranchCache HashV2 Bytes Sent | SMB BranchCache HashV2 发送的字节数 | 小于5000字节/秒 | HashV2传输过多可能影响带宽,检查网络配置并优化传输策略。 |
| SMB BranchCache Hash V2 Generation Requests | SMB BranchCache HashV2 生成请求次数 | 小于100次/秒 | 高频生成请求可能导致缓存处理瓶颈,优化哈希生成和分配策略。 |
| SMB BranchCache Hash V2 Header Requests | SMB BranchCache HashV2 头部请求次数 | 小于100次/秒 | 高频请求可能导致缓存头部压力,优化缓存结构和请求处理方式。 |
| SMB BranchCache Hash V2 Requests Received | SMB BranchCache HashV2 接收的请求次数 | 小于100次/秒 | 接收过多请求可能影响缓存性能,优化请求分发和缓存机制。 |
| SMB BranchCache Hash V2 Requests Served From Dedup | SMB BranchCache HashV2 从去重数据中提供请求次数 | 小于100次/秒 | 高频去重请求可能表示去重处理压力,优化去重算法和缓存策略。 |
| SMB BranchCache Hash V2 Responses Sent | SMB BranchCache HashV2 发送的响应次数 | 小于100次/秒 | 高频响应发送可能表示网络瓶颈,检查带宽使用和优化响应策略。 |
| Total Durable Handles | 总持久句柄数 | 根据系统需求而定 | 持久句柄过多可能影响系统稳定性,优化句柄管理或增加系统资源。 |
| Total Resilient Handles | 总弹性句柄数 | 根据系统需求而定 | 弹性句柄数过多表示连接管理问题 |
| 计数器名称 (Counter Name) | 指标 (Metric) | 阈值 (Threshold) | 诊断 (Diagnostic) |
|---|---|---|---|
| Total Resilient Handles | 总弹性句柄数 | 根据系统需求而定 | 弹性句柄数过多表示连接管理问题,优化弹性句柄分配和连接策略。 |
| Work Item Shortages | 工作项短缺次数 | 小于10次/秒 | 工作项短缺表示系统资源分配不足,考虑增加工作队列或优化负载均衡。 |
说明:
- 阈值(Threshold)部分的建议值可以根据实际系统的负载、网络带宽和硬件配置进行调整。
- 诊断部分提供了针对每个计数器可能存在问题的分析和优化建议,帮助在监控和维护过程中进行排查。
system计数器的表格,包含了计数器名称、指标、阈值、诊断。
| 计数器名称 (Counter Name) | 指标 (Metric) | 阈值 (Threshold) | 诊断 (Diagnostic) |
|---|---|---|---|
| % Registry Quota In Use | 注册表配额使用百分比 | 大于75% | 若超过阈值,表示注册表配额使用过高,可能需要优化注册表操作或清理无用数据。 |
| Alignment Fixups/sec | 每秒对齐修正次数 | 小于5次/秒 | 高频次修正表示内存对齐问题,可能需要检查内存管理或数据结构。 |
| Context Switches/sec | 上下文切换操作每秒 | 小于1000次/秒 | 高频次上下文切换可能表示进程切换过于频繁,优化进程调度和资源分配。 |
| Exception Dispatches/sec | 异常分派操作每秒 | 小于50次/秒 | 高频异常分派表示异常处理机制频繁触发,检查异常处理代码并优化。 |
| File Control Bytes/sec | 每秒文件控制字节数 | 小于10000字节/秒 | 文件控制操作频繁可能导致I/O瓶颈,减少不必要的文件控制操作。 |
| File Control Operations/sec | 每秒文件控制操作数量 | 小于100次/秒 | 频繁的文件控制操作可能影响性能,优化文件访问模式或减少不必要操作。 |
| File Data Operations/sec | 每秒文件数据操作数量 | 小于100次/秒 | 高频次文件数据操作表示可能存在I/O瓶颈,优化数据访问策略或缓存。 |
| File Read Bytes/sec | 每秒文件读取字节数 | 小于50000字节/秒 | 文件读取频繁时,可能存在性能瓶颈,优化文件访问策略或增加缓存。 |
| File Read Operations/sec | 每秒文件读取操作次数 | 小于100次/秒 | 高频次文件读取表示I/O压力过大,增加缓存或优化文件读取策略。 |
| File Write Bytes/sec | 每秒文件写入字节数 | 小于50000字节/秒 | 文件写入频繁时,可能需要优化磁盘写入或调整写入操作频率。 |
| File Write Operations/sec | 每秒文件写入操作次数 | 小于100次/秒 | 高频次文件写入可能影响系统性能,减少不必要的写操作或优化写入策略。 |
| Floating Emulations/sec | 每秒浮动仿真次数 | 小于10次/秒 | 高频浮动仿真表示计算密集型任务,优化计算算法或硬件加速可以提高性能。 |
| Processes | 当前进程数量 | 根据系统规格而定 | 过多进程可能导致系统资源紧张,适当限制进程数量或优化进程调度。 |
| Processor Queue Length | 处理器队列长度 | 小于2个 | 如果队列长度过长,表示CPU负载过高,优化进程调度或增加CPU资源。 |
| System Calls/sec | 每秒系统调用次数 | 小于1000次/秒 | 高频系统调用表示系统负载较高,优化系统调用频率或优化系统架构。 |
| System Up Time | 系统运行时间 | 根据系统运行需求而定 | 系统长期运行可能需要重启以释放资源,定期进行系统维护。 |
| Threads | 当前线程数 | 根据系统规格而定 | 高线程数可能表示程序存在线程泄漏,优化线程管理或限制线程创建。 |
- 阈值:根据不同计数器的值,判断系统资源的使用情况和潜在问题。
- 诊断:通过分析计数器数据,判断可能的性能瓶颈或异常,提供相应的优化建议。
- 性能优化:根据诊断结果,可以通过减少不必要的操作、优化内存管理和缓存策略来提升系统性能。
Cache performance object 包括监督文件系统缓存(物理内存上尽可能长时间的存储最近使用过的数据以便访问该数据时不需再从磁盘上读取的那一部分内存。)的计数器。因为应用程序只使用缓存,因此该缓存可作为应用程序 I/O 操作的指示器。当有足够内存时,缓存可增大,但当内存不足时,缓存会变得太小而无法使用。
| 计数器名称 (Counter Name) | 指标 (Metric) | 阈值 (Threshold) | 诊断 (Diagnostic) |
|---|---|---|---|
| Async Copy Reads/sec | 异步复制读取操作每秒 | 小于50/秒 | 如果值过高,可能表示缓存策略不佳,增加缓存容量或优化读取策略。 |
| Async Data Maps/sec | 异步数据映射操作每秒 | 小于50/秒 | 如果过低,可能表明内存映射效率差,优化数据映射策略。 |
| Async Fast Reads/sec | 异步快速读取操作每秒 | 小于30/秒 | 较低的值可能表示缓存未命中,增加缓存可以提升性能。 |
| Async MDL Reads/sec | 异步MDL读取操作每秒 | 小于50/秒 | 过高的值可能导致内存I/O瓶颈,检查MDL读取操作,减少不必要的读取。 |
| Async Pin Reads/sec | 异步Pin读取操作每秒 | 小于50/秒 | 如果值过高,可能会影响缓存性能,适当减少Pin操作。 |
| Copy Read Hits % | 复制读取命中率百分比 | 80%以上 | 若命中率低于80%,说明缓存命中率差,需要优化缓存配置。 |
| Copy Reads/sec | 复制读取操作每秒 | 小于100/秒 | 高频率读取表示缓存未命中,增加缓存或优化缓存策略。 |
| Data Flush Pages/sec | 每秒刷新页面数量 | 低于1000次/秒 | 刷新频繁表明内存使用压力大,适当增大缓存或优化刷新策略。 |
| Data Flushes/sec | 每秒刷新操作数量 | 低于500次/秒 | 高频次刷新可能表示缓存未命中,适当调整刷新策略。 |
| Data Map Hits % | 数据映射命中率百分比 | 85%以上 | 若命中率低,说明缓存映射效率差,增加内存映射策略可以改善此问题。 |
| Data Map Pins/sec | 数据映射Pin操作每秒 | 小于30/秒 | 高频Pin操作可能影响性能,适当减少不必要的映射Pin操作。 |
| Data Maps/sec | 数据映射操作每秒 | 大于50/秒 | 如果值过低,可能影响缓存映射效率,增加缓存映射操作。 |
| Dirty Page Threshold | 脏页阈值 | 低于50/秒 | 若脏页数量过多,频繁触发刷新操作,可增加脏页阈值优化内存管理。 |
| Dirty Pages | 脏页数量 | 低于10000个 | 脏页过多时,可能需要刷新缓存,减少内存泄漏风险。 |
| Fast Read Not Possibies/sec | 每秒无法执行快速读取的次数 | 小于20/秒 | 高频次未命中表示缓存或资源配置不足,增加缓存容量或优化读取策略。 |
| Fast Read Resource Misses/sec | 每秒快速读取资源未命中的次数 | 小于20/秒 | 频繁未命中表示资源不足,增加资源配置可以改善性能。 |
| Fast Reads/sec | 快速读取操作每秒 | 小于100/秒 | 快速读取操作频繁可能影响性能,增加缓存或优化读取策略。 |
| Lazy Write Flushes/sec | 每秒延迟写刷新操作次数 | 小于100次/秒 | 延迟写频繁表示内存不足或缓存管理不当,检查并优化写操作。 |
| Lazy Write Pages/sec | 每秒延迟写刷新页面数 | 小于100次/秒 | 如果值过高,可能需要优化写操作,减少写入压力。 |
| MDL Read Hits % | MDL读取命中率百分比 | 90%以上 | 若命中率低于90%,表示MDL读取频繁未命中,优化内存管理。 |
| MDL Reads/sec | MDL读取操作每秒 | 小于50/秒 | 高频次MDL读取可能影响性能,减少不必要的读取操作。 |
| Pin Read Hits % | Pin读取命中率百分比 | 85%以上 | 若命中率低,表示Pin读取未命中频繁,优化Pin操作或增加缓存容量。 |
| Pin Reads/sec | Pin读取操作每秒 | 小于50/秒 | 高频率Pin读取可能影响性能,适当减少Pin操作并优化缓存策略。 |
| Read Aheads/sec | 每秒预读取操作次数 | 小于50/秒 | 高频预读取可能影响性能,适当优化读取策略或减少不必要的预读取。 |
| Sync Copy Reads/sec | 同步复制读取操作每秒 | 小于50/秒 | 高频同步读取可能导致磁盘I/O过多,优化读取策略和缓存。 |
| Sync Data Maps/sec | 同步数据映射操作每秒 | 小于50/秒 | 高频同步数据映射操作表示缓存策略不足,增加缓存映射操作可以提高性能。 |
| Sync Fast Reads/sec | 同步快速读取操作每秒 | 小于30/秒 | 高频同步快速读取操作表示缓存未命中,适当优化缓存配置。 |
| Sync MDL Reads/sec | 同步MDL读取操作每秒 | 小于50/秒 | 高同步MDL读取频率可能导致内存I/O瓶颈,减少不必要的读取操作。 |
| Sync Pin Reads/sec | 同步Pin读取操作每秒 | 小于50/秒 | 高频同步Pin读取可能影响性能,增加缓存或减少同步读取操作。 |
- 阈值:不同计数器对应的阈值有助于快速判断系统性能是否正常。
- 诊断:根据计数器的值诊断缓存效率和性能问题,并提出优化建议。
- 缓存优化:优化缓存配置、增加内存容量以及减少不必要的读取和写入操作,有助于提升系统性能。
- GPU Adapter Memory:GPU适配器内存
- GPU Engine:GPU引擎
- GPU Local Adapter Memory:GPU本地适配器内存
- GPU Process Memory:GPU进程内存
| 计数器 | 指标 | 阈值 | 诊断 |
|---|---|---|---|
| GPU Adapter Memory | 专用内存使用量 | 根据显卡型号和负载调整 | 专用内存使用过高可能导致图形性能下降,优化内存分配或增加显卡内存。 |
| Dedicated Usage | 专用内存使用百分比 | 根据显卡容量设定,如80% | 专用内存过高可能会影响性能,建议优化程序或升级显卡。 |
| Shared Usage | 共享内存使用百分比 | 根据显卡容量设定,如60% | 共享内存过高可能会影响其他程序的性能,考虑优化内存使用或升级系统配置。 |
| Total Committed | 总承诺内存量 | 不超过GPU的总内存容量 | 如果超出承诺内存,可能导致性能瓶颈,检查内存管理策略。 |
| GPU Engine | GPU 引擎的使用情况 | 根据系统需求调整 | GPU引擎负载过高可能影响渲染和计算任务的执行,检查任务分配和优化代码。 |
| Running Time | GPU 引擎的运行时间 | 根据任务类型和运行时长设定 | GPU长时间运行可能导致过热或性能衰退,需注意散热和负载分配。 |
| Utilization Percentage | GPU 利用率百分比 | 一般建议在80%以下,依实际应用而定 | 利用率过高可能导致系统不稳定,优化任务调度或增加硬件资源。 |
| GPU Local Adapter Memory | 本地适配器内存使用量 | 根据GPU的总内存设定 | 本地内存过高可能导致系统卡顿,考虑分配更多资源或调整程序算法。 |
| Local Usage | 本地内存使用百分比 | 根据GPU配置设定,通常70%以下 | 本地内存使用过高可能影响其他任务,检查内存分配策略。 |
| GPU Process Memory | GPU 进程内存使用量 | 根据显卡内存和程序需求调整 | 进程内存过多可能导致性能下降,优化代码,减少不必要的内存占用。 |
| Dedicated Usage (Local) | 本地专用内存使用百分比 | 根据显卡总内存设定,通常不超过80% | 本地专用内存超负荷可能影响GPU任务,建议优化内存管理或增加硬件资源。 |
| Local Usage (Non Local) | 非本地内存使用百分比 | 根据系统配置设定 | 非本地内存使用过高,检查内存交换情况,可能影响系统整体性能。 |
| Shared Usage (Local) | 本地共享内存使用百分比 | 通常不超过60% | 本地共享内存过高可能影响其他程序性能,建议优化任务分配。 |
| Total Committed (GPU) | GPU总承诺内存量 | 根据GPU总内存和任务需求设定 | 承诺内存过多可能导致性能瓶颈,需优化任务调度或增加系统内存。 |
这张表格提供了不同GPU资源的监控和诊断信息,可以帮助您更好地管理和优化系统的图形性能。
GPU性能监控与诊断指标表
| 资源类别 | 计数器 | 指标说明 | 阈值建议 | 诊断与建议 |
|---|---|---|---|---|
| GPU Adapter Memory (GPU适配器内存) |
GPU Adapter Memory | 专用内存使用量 | 根据显卡型号和负载调整 | 专用内存使用过高可能导致图形性能下降,优化内存分配或增加显卡内存。 |
| Dedicated Usage | 专用内存使用百分比 | 根据显卡容量设定,如80% | 专用内存过高可能会影响性能,建议优化程序或升级显卡。 | |
| Shared Usage | 共享内存使用百分比 | 根据显卡容量设定,如60% | 共享内存过高可能会影响其他程序的性能,考虑优化内存使用或升级系统配置。 | |
| Total Committed | 总承诺内存量 | 不超过GPU的总内存容量 | 如果超出承诺内存,可能导致性能瓶颈,检查内存管理策略。 | |
| GPU Engine (GPU引擎) |
GPU Engine | GPU引擎的使用情况 | 根据系统需求调整 | GPU引擎负载过高可能影响渲染和计算任务的执行,检查任务分配和优化代码。 |
| Running Time | GPU引擎的运行时间 | 根据任务类型和运行时长设定 | GPU长时间运行可能导致过热或性能衰退,需注意散热和负载分配。 | |
| Utilization Percentage | GPU利用率百分比 | 一般建议在80%以下,依实际应用而定 | 利用率过高可能导致系统不稳定,优化任务调度或增加硬件资源。 | |
| GPU Local Adapter Memory (GPU本地适配器内存) |
GPU Local Adapter Memory | 本地适配器内存使用量 | 根据GPU的总内存设定 | 本地内存过高可能导致系统卡顿,考虑分配更多资源或调整程序算法。 |
| Local Usage | 本地内存使用百分比 | 根据GPU配置设定,通常70%以下 | 本地内存使用过高可能影响其他任务,检查内存分配策略。 | |
| GPU Process Memory (GPU进程内存) |
GPU Process Memory | GPU进程内存使用量 | 根据显卡内存和程序需求调整 | 进程内存过多可能导致性能下降,优化代码,减少不必要的内存占用。 |
| Dedicated Usage (Local) | 本地专用内存使用百分比 | 根据显卡总内存设定,通常不超过80% | 本地专用内存超负荷可能影响GPU任务,建议优化内存管理或增加硬件资源。 | |
| Local Usage (Non Local) | 非本地内存使用百分比 | 根据系统配置设定 | 非本地内存使用过高,检查内存交换情况,可能影响系统整体性能。 | |
| Shared Usage (Local) | 本地共享内存使用百分比 | 通常不超过60% | 本地共享内存过高可能影响其他程序性能,建议优化任务分配。 | |
| Total Committed (GPU) | GPU总承诺内存量 | 根据GPU总内存和任务需求设定 | 承诺内存过多可能导致性能瓶颈,需优化任务调度或增加系统内存。 |
这张表格提供了不同GPU资源(适配器内存、引擎、本地内存、进程内存)的关键监控指标、阈值建议和相应的诊断信息。通过监控这些指标,可以帮助您更好地管理和优化系统的图形与计算性能。
Memory performance object 由描述计算机上的物理和虚拟内存行为的计数器组成。物理内存指计算机上的随机存取存储器的数量。虚拟内存由物理内存和磁盘上的空间组成。许多内存计数器监视页面调度(指磁盘与物理内存之的代码和数据页的移动)。过多的页面调度(内存不足的一种表现)可引起拖延,会影响整个系统处理效率。Memory性能对象的相关计数器,已表格化,包含指标、阈值和诊断信息:
| 计数器 | 对象指标 | 阈值 | 诊断 |
|---|---|---|---|
| % Committed Bytes In Use | 已使用承诺字节的百分比 | 应低于80%,过高可能表示内存压力 | 如果超过阈值,可能导致系统性能下降或内存不足,检查内存分配。 |
| Available Bytes | 可用字节数 | 应根据系统配置和负载设置 | 可用内存过低可能导致系统响应缓慢或应用崩溃,检查内存占用情况。 |
| Available KBytes | 可用千字节数 | 应保持在合理范围内(通常大于100MB) | 如果过低,系统可能无法分配新的内存,检查内存和进程分配。 |
| Available MBytes | 可用兆字节数 | 应保持在合理范围内(通常大于100MB) | 可用内存不足时,可能会影响系统运行,需优化内存管理。 |
| Cache Bytes | 缓存字节数 | 应根据系统需求调整 | 缓存过大可能占用过多内存,影响其他进程,检查缓存管理策略。 |
| Cache Bytes Peak | 缓存字节数峰值 | 应避免过高峰值,避免内存溢出 | 如果峰值过高,可能表示缓存使用不当,需调整缓存策略。 |
| Cache Faults/sec | 每秒缓存错误数 | 应尽量为零 | 缓存错误过多可能导致内存性能瓶颈,需检查内存和缓存配置。 |
| Commit Limit | 承诺限制 | 应根据系统内存和硬盘空间设置 | 超过承诺限制可能导致系统崩溃或应用无法运行,需检查内存压力。 |
| Committed Bytes | 已承诺字节数 | 根据实际内存大小设定 | 如果承诺字节数过高,表示可能有大量内存请求,需优化内存分配。 |
| Demand Zero Faults/sec | 每秒需求零页错误数 | 应尽量为零 | 错误过多可能导致内存访问效率降低,需优化内存管理和调度策略。 |
| Free & Zero Page List Bytes | 空闲与零页列表字节数 | 应保持较低,过高可能表示内存过剩 | 空闲内存过多可能表示内存未充分使用,考虑内存回收或优化应用。 |
| Free System Page Table Entries | 系统页表条目空闲数 | 应保持在合理范围内(通常不低于几千个条目) | 如果空闲页表条目过少,可能导致页面调度困难,需优化系统配置。 |
| Long-Term Average Standby Cache Lifetime (s) | 长期平均待机缓存生命周期(秒) | 根据系统需求调整 | 如果生命周期过长,可能表示缓存内容未及时更新,需检查缓存管理。 |
| Modified Page List Bytes | 修改过的页面列表字节数 | 应保持在合理范围内 | 如果修改页面过多,可能导致内存访问效率降低,需优化内存调度。 |
| Page Faults/sec | 每秒页面错误数 | 应保持在合理范围内,通常小于10 | 页面错误过多可能影响系统性能,表示内存不足或磁盘存取过慢。 |
| Page Reads/sec | 每秒页面读取数 | 根据系统负载设定 | 页面读取过多可能导致磁盘I/O瓶颈,检查页面调度策略。 |
| Page Writes/sec | 每秒页面写入数 | 应控制在较低范围内,通常低于1 | 页面写入过多可能导致磁盘性能瓶颈,需优化写入策略。 |
| Pages Input/sec | 每秒输入页面数 | 根据系统内存和磁盘负载设定 | 输入页面过多可能表示磁盘I/O负载过高,检查磁盘访问性能。 |
| Pages Output/sec | 每秒输出页面数 | 根据系统内存和磁盘负载设定 | 输出页面过多可能导致系统负载增加,需优化内存和磁盘调度。 |
| Pages/sec | 每秒页面数 | 应根据内存和I/O带宽设定 | 如果每秒页面数过高,可能表示内存不足或频繁的页面调度,需优化内存管理。 |
| Pool Nonpaged Allocs | 非分页池分配数 | 应保持较低,避免频繁分配 | 非分页池分配过多可能导致内存碎片,检查内存池管理策略。 |
| Pool Nonpaged Bytes | 非分页池字节数 | 应控制在合理范围内 | 非分页池字节数过多可能表示内存未优化,需调整内存池管理。 |
| Pool Paged Allocs | 分页池分配数 | 应保持在合理范围内 | 分页池分配过多可能导致内存分配效率降低,需优化分配策略。 |
| Pool Paged Bytes | 分页池字节数 | 应控制在合理范围内 | 分页池字节数过多可能表示内存分配不均衡,需调整内存池大小。 |
| Pool Paged Resident Bytes | 分页池常驻字节数 | 应根据系统负载设定 | 常驻字节数过多可能导致内存压力,需优化分页池管理。 |
| Standby Cache Core Bytes | 待机缓存核心字节数 | 应保持在合理范围内 | 如果待机缓存占用过高,可能影响其他系统功能,需调整缓存策略。 |
| Standby Cache Normal Priority Bytes | 待机缓存正常优先级字节数 | 应保持在合理范围内 | 高优先级待机缓存过多可能影响系统响应时间,需优化缓存管理。 |
| Standby Cache Reserve Bytes | 待机缓存保留字节数 | 应保持较低,避免过多占用内存 | 如果保留缓存过多,可能表示内存未得到有效利用,需调整缓存管理。 |
| System Cache Resident Bytes | 系统缓存常驻字节数 | 应根据系统负载设定 | 常驻缓存过多可能影响系统的内存分配和性能,需优化缓存策略。 |
| System Code Resident Bytes | 系统代码常驻字节数 | 应根据应用需求设定 | 如果代码常驻字节数过高,可能导致内存不均衡分配,检查代码加载策略。 |
| System Code Total Bytes | 系统代码总字节数 | 根据系统需求设置 | 如果代码总字节数过大,可能导致系统启动缓慢,检查代码加载优化。 |
| System Driver Resident Bytes | 系统驱动常驻字节数 | 应根据系统配置调整 | 系统驱动常驻过多可能导致内存资源浪费,检查驱动加载和管理。 |
| SystemDriverTotal Bytes | 系统驱动总字节数 | 应根据系统需求设定 | 驱动占用内存过多可能影响系统性能,需优化驱动加载与管理。 |
| Transition Faults/sec | 每秒转换错误数 | 应保持为零 | 转换错误过多可能表示内存调度问题,需优化页面管理。 |
| Transition Pages RePurposed/sec | 每秒转移页面复用数 | 应保持在合理范围内 | 过多复用可能表示内存过度紧张,需优化内存调度。 |
| Write Copies/sec | 每秒写入复制数 | 应保持在合理范围内 | 写复制过多可能导致磁盘I/O瓶颈,需优化页面写入和复制策略。 |
这些计数器帮助监控内存的使用情况、页面调度、缓存管理等,可以有效地诊断和优化计算机的内存性能。需要根据系统的具体需求和负载进行调整。
Memory performance object 由描述计算机上的物理和虚拟内存行为的计数器组成。物理内存指计算机上的随机存取存储器的数量。虚拟内存由物理内存和磁盘上的空间组成。许多内存计数器监视页面调度(指磁盘与物理内存之的代码和数据页的移动)。过多的页面调度(内存不足的一种表现)可引起拖延,会影响整个系统处理效率。
“Memory”性能计数器信息整理、归类并优化后的监控与诊断表格。
内存性能监控与诊断指标表
| 类别 | 计数器 | 指标说明 | 阈值建议 | 诊断与建议 |
|---|---|---|---|---|
| 内存使用率与可用性 | % Committed Bytes In Use | 提交内存与提交限制的百分比。 | 持续 > 80% | 表示虚拟内存(物理内存+分页文件)压力大。可能导致系统性能下降或应用程序因内存不足而崩溃。 |
| Committed Bytes | 已提交的虚拟内存量。 | 不应持续接近 Commit Limit | 已提交内存过高,表示许多程序已申请了大量内存,物理内存可能不足。 | |
| Commit Limit | 无需扩展分页文件即可提交的最大虚拟内存量。 | 固定值(物理内存+分页文件大小) | 这是系统的虚拟内存上限。若 Committed Bytes 接近此值,非常危险。 | |
| Available MBytes | 可供进程使用的物理内存量(MB)。 | 通常 > 100 MB | 可用内存过低是内存压力的直接体现,会导致系统频繁进行页面调度,响应缓慢。 | |
| 页面调度与错误 | Pages/sec | 为解决硬页错误而从磁盘读取或写入磁盘的页数/秒。 | 平均 > 20 | 这是内存压力的关键指标! 值过高表明物理内存不足,系统正频繁使用磁盘进行页面交换,性能严重下降。 |
| Page Reads/sec | 为解决页错误而从磁盘读取的速率。 | 平均 > 5 | 高的读取速率是内存不足和磁盘I/O瓶颈的主要标志。观察 Avg. Disk Read Queue Length 以确认。 | |
| Page Faults/sec | 处理器中页错误发生的速率(包括软错误和硬错误)。 | 根据系统而定,但需关注趋势 | 硬页错误(需要磁盘访问)才影响性能。如果该值高且 Pages/sec 也高,则表明是硬错误问题。 | |
| Cache Faults/sec | 在文件系统缓存中未找到的页错误速率。 | 应尽量低 | 过高可能表示文件缓存效率低或内存紧张。 | |
| 内存池 | Pool Paged Bytes | 可分页内核内存池的大小。 | 监控趋势,避免持续增长 | 持续增长可能表示内核模式驱动或系统组件存在内存泄漏。 |
| Pool Nonpaged Bytes | 不可分页内核内存池的大小。 | 监控趋势,避免持续增长 | 必须常驻物理内存。持续增长是严重问题,通常由驱动程序Bug引起,可能导致系统不稳定。 | |
| 缓存与列表 | Cache Bytes | 文件系统缓存使用的内存量。 | 动态调整,系统自动管理 | 缓存过大会占用应用程序可用内存。但如果系统内存充足,大的文件缓存能提升性能。 |
| Standby Cache ... Bytes | 包含可立即重用但当前未使用的已缓存数据的物理内存。 | 通常较高,是“好”内存 | 这是可用内存的一部分。当 Available MBytes 很低但待机缓存很多时,系统性能通常不受影响,因为可以快速回收这些内存。 | |
| Modified Page List Bytes | 在写入磁盘之前包含已修改数据的物理内存。 | 应相对较低 | 过高表示磁盘写入活动可能成为瓶颈,或写入速度慢。检查 Page Writes/sec。 | |
| Free & Zero Page List Bytes | 完全空闲且已清零、可立即使用的物理内存。 | 通常较低 | 系统会主动将空闲内存清零并移入待机缓存。此值过低是正常现象;过高反而表示内存初始化可能成为瓶颈。 | |
| 系统代码与驱动 | System Code Total Bytes | 可分页的OS代码可用的总虚拟内存。 | 监控趋势 | 大幅变化可能表示加载/卸载了新的驱动或系统组件。 |
| System Driver Resident Bytes | 当前驻留在物理内存中的不可分页的OS驱动程序代码量。 | 监控趋势 | 持续增长可能表示驱动程序问题。 |
此表格将内存计数器系统性地分为使用率、页面调度、内存池、缓存和系统核心等几大类,有助于快速定位问题根源:
-
怀疑内存不足? 首先关注 % Committed Bytes In Use、Available MBytes,并确认 Pages/sec 和 Page Reads/sec 是否过高。
-
怀疑系统不稳定或驱动泄漏? 重点监控 Pool Nonpaged Bytes 和 Pool Paged Bytes 的增长趋势。
-
理解内存构成: Available MBytes 约等于 Standby Cache + Free Memory。即使 Free Memory 很低,只要有充足的 Standby Cache,系统仍能快速响应。
所有阈值均应结合系统具体负载和基线性能进行设定。
深入了解并熟练掌握 perfmon(Windows性能监视器)中的 计数器,你可以从以下问题入手,帮助你系统地学习和掌握这项工具:
- 什么是 Windows 性能监视器 (Perfmon)?
- 如何打开和配置 Perfmon 工具?
- Perfmon 中的“计数器”是什么意思?
- Perfmon 中的计数器有哪些常见类型?
- 如何选择适合我需求的性能计数器?
- Perfmon 中如何查看实时性能数据?
- 如何使用 Perfmon 监视 CPU 使用率?
- Perfmon 中的内存计数器有哪些?
- 如何通过 Perfmon 跟踪磁盘 I/O 活动?
- Perfmon 中如何监控网络活动?
- 如何监控系统资源的瓶颈?
- Perfmon 中如何查看每个进程的资源使用情况?
- Perfmon 中的“对象”和“计数器”之间有什么区别?
- Perfmon 中“实例”是什么?如何使用它?
- 如何在 Perfmon 中设置警报以监控异常情况?
- Perfmon 中如何设置和保存监视配置?
- 如何使用 Perfmon 创建并分析性能日志?
- Perfmon 如何与其他 Windows 性能分析工具(如 Task Manager)结合使用?
- 如何设置 Perfmon 以便长期收集性能数据?
- Perfmon 中的“% Processor Time”计数器有什么作用?
- 如何分析磁盘延迟和 I/O 队列长度?
- Perfmon 中如何跟踪 SQL Server 性能?
- 如何使用 Perfmon 分析内存泄漏?
- 如何根据 Perfmon 数据优化应用程序性能?
- Perfmon 中如何设置数据采集和存储周期?
- 如何通过 Perfmon 来评估系统的负载均衡?
- Perfmon 如何帮助我定位和诊断应用程序性能问题?
- Perfmon 中的“网络接口”计数器如何工作?
- 如何导出 Perfmon 数据并进行进一步分析?
- Perfmon 中如何分析多核心处理器的性能问题?
这些问题帮助你全面掌握 Perfmon 性能监视器,从基础概念到高级应用,逐步深入理解如何使用 Perfmon 进行系统性能监控、数据收集与分析。
深入学习和熟练掌握 Perfmon(Windows性能监视器)及其 计数器,你可以从以下问题开始,逐步深入了解每个细节:
- 什么是 Windows 性能监视器(Perfmon)?
- Perfmon 和任务管理器有什么不同?
- 如何启动 Perfmon 工具?
- Perfmon 中的“计数器”是什么,如何使用?
- Perfmon 支持哪些主要的性能计数器类型?
- 如何选择和添加合适的计数器到 Perfmon 中?
- Perfmon 中的计数器“Processor Time”表示什么?
- 如何使用 Perfmon 来监控 CPU 的性能?
- 如何在 Perfmon 中查看系统内存的使用情况?
- Perfmon 中的 “Memory Pages/sec”计数器有什么用?
- 如何分析磁盘性能,哪些 Perfmon 计数器能帮助我?
- Perfmon 中的“Disk Queue Length”计数器如何工作?
- Perfmon 中的“Network Interface”计数器是如何监控网络流量的?
- 如何使用 Perfmon 监控每个进程的 CPU 和内存使用情况?
- Perfmon 中的“Process”对象如何帮助监控特定进程?
- 如何在 Perfmon 中设置数据日志记录以便长期监控?
- Perfmon 中如何查看系统的实时性能数据?
- Perfmon 支持哪些图表和可视化工具?
- 如何通过 Perfmon 设置警报来监控资源使用过高?
- Perfmon 中如何分析和定位性能瓶颈?
- 如何导出 Perfmon 收集的数据进行进一步分析?
- Perfmon 中的“% Processor Time”计数器和 “% User Time”有何区别?
- 如何通过 Perfmon 诊断内存泄漏问题?
- 如何使用 Perfmon 监控硬盘驱动器的 I/O 活动?
- 如何使用 Perfmon 对比不同时间段的性能变化?
- Perfmon 如何与 Performance Logs 和 Alerts 配合使用?
- 如何在 Perfmon 中设置和保存性能数据收集计划?
- Perfmon 是否支持远程监控?如果支持,如何配置?
- Perfmon 如何监控和分析虚拟化环境中的性能?
- Perfmon 中的 “System” 对象包含哪些重要计数器,如何使用?
通过这些问题,你可以从基础到深入地了解如何使用 Perfmon 进行性能监控,如何选择和分析不同的计数器,以及如何利用这些数据来优化系统和应用程序的性能。

浙公网安备 33010602011771号