Windows 性能计数器相关命令汇总 完整逻辑链示例:监控与收集数据: 使用 Perfmon 或 Logman 来收集性能数据。实时跟踪数据: 使用 Typeperf 来实时跟踪并输出性能数据:转换与合并数据: 使用 Relog 工具来转换数据格式或者合并多个日志文件:生成报告与分析数据: 使用 Tracerpt 来生成基于事件的报告。

logman | Microsoft Learn

typeperf | Microsoft Learn

lodctr | Microsoft Learn

diskperf | Microsoft Learn

重新生成性能计数器库值 - Windows Server | Microsoft Learn

(性能计数器) 新增功能 - Win32 apps | Microsoft Learn

关于性能计数器 - Win32 apps | Microsoft Learn

64 位支持 - Win32 apps | Microsoft Learn

性能计数器架构 - Win32 apps | Microsoft Learn

Windows常用性能计数器总结 - 挥辉 - 博客园

Windows自带性能监控工具Perfmon使用介绍 - Dr博士 - 博客园

Windows 性能计数器相关命令汇总 完整逻辑链示例:监控与收集数据: 使用 Perfmon 或 Logman 来收集性能数据。实时跟踪数据: 使用 Typeperf 来实时跟踪并输出性能数据:转换与合并数据: 使用 Relog 工具来转换数据格式或者合并多个日志文件:生成报告与分析数据: 使用 Tracerpt 来生成基于事件的报告。 - suv789 - 博客园

Windows性能监视器:优化系统性能的强大工具

在日常使用Windows操作系统时,我们可能会遇到系统卡顿或响应慢的情况。为了有效诊断这些问题,Windows内置的性能监视器(Performance Monitor)是一款非常有用的工具。它可以帮助用户实时监控计算机的性能,提供深入的硬件和软件资源利用情况。

一、什么是Windows性能监视器?

性能监视器是Windows操作系统自带的一个管理工具,用于监视和记录计算机系统的各项性能指标。它能够提供CPU、内存、硬盘、网络等各个硬件资源的实时数据,同时也可以监控系统进程、服务以及应用程序的性能。

二、如何打开性能监视器?

  1. 通过开始菜单

    • 按下Win + R组合键,打开“运行”窗口。
    • 输入“perfmon”并按回车,即可打开性能监视器。
  2. 通过任务管理器

    • 打开任务管理器(Ctrl + Shift + Esc),点击“性能”选项卡,在底部选择“打开性能监视器”。
  3. 通过控制面板

    • 打开“控制面板” > “管理工具” > “性能监视器”。

三、性能监视器的主要功能

  1. 监控系统资源使用情况: 性能监视器能够实时显示CPU的使用率、内存占用情况、磁盘的读写速度、网络流量等信息。通过这些数据,我们可以清楚地看到系统资源的消耗情况,找出瓶颈所在。

  2. 数据记录与趋势分析: 性能监视器不仅能够实时查看系统资源的使用情况,还可以通过数据集功能将数据记录到文件中,生成日志文件。这使得用户可以在一段时间内对系统的表现进行趋势分析,判断是否存在潜在的性能问题。

  3. 自定义监控项目: 性能监视器允许用户自定义监控项目。你可以选择监视不同的计数器(如CPU的使用率、内存的可用量等),并创建自定义的监控图表来更直观地查看性能数据。

  4. 报警和提醒功能: 性能监视器提供了报警功能。当系统资源的使用超过了设定的阈值时,可以自动发送提醒或执行预设的操作,帮助用户及时处理潜在的问题。

四、如何使用性能监视器?

  1. 选择计数器: 打开性能监视器后,可以通过点击左侧的“监视工具”中的“性能监视器”来添加需要监视的计数器。常用的计数器包括:

    • Processor (处理器):监视CPU的使用率。
    • Memory (内存):监视内存的使用情况。
    • Disk (磁盘):监视磁盘的读写速度和队列长度。
    • Network Interface (网络接口):监视网络的发送和接收流量。
  2. 创建自定义视图: 在性能监视器界面中,可以选择添加计数器,然后选择要监控的具体项目。通过图形化界面,用户可以更方便地观察各个硬件资源的使用情况。

  3. 保存监控数据: 在“数据收集器集”中,可以设置自动记录和保存性能数据。通过这些日志,用户能够追踪历史的系统性能,帮助更好地进行故障排查。

  4. 设置报警: 在性能监视器中,还可以设置阈值警报。比如,CPU使用率超过80%时,性能监视器会自动发出警告,提醒用户及时采取措施。

五、常见的性能问题及解决方案

  1. CPU使用率过高

    • 通过性能监视器查看“Processor”计数器,检查CPU使用率是否异常。如果某个进程占用了大量CPU资源,可以通过任务管理器终止不必要的进程,或者考虑优化该程序的性能。
  2. 内存不足

    • 通过“Memory”计数器监视内存使用情况。如果内存使用率过高,可能是由于运行的程序过多,或者某个程序存在内存泄漏。关闭不必要的程序,或者增加内存容量。
  3. 磁盘性能下降

    • 如果磁盘的读写速度慢,可能是硬盘空间不足或者硬盘出现故障。检查磁盘的使用情况,并定期进行磁盘碎片整理。若硬盘状态不良,应考虑更换硬盘。
  4. 网络瓶颈

    • 通过“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"

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

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

完整逻辑链示例

  1. 监控与收集数据:
    • 使用 Perfmon 或 Logman 来收集性能数据。
      • 示例: 使用 logman 创建一个数据收集器来监视 CPU 使用率:
        bashCopy Code
        logman create counter MyCounter -c "\Processor(_Total)\% Processor Time" -o C:\logs\cpu.blg
  2. 实时跟踪数据:
    • 使用 Typeperf 来实时跟踪并输出性能数据:
      • 示例: 使用 typeperf 输出内存的可用空间数据:
        bashCopy Code
        typeperf "\Memory\Available MBytes" -o C:\logs\memory.csv
  3. 转换与合并数据:
    • 使用 Relog 工具来转换数据格式或者合并多个日志文件:
      • 示例: 将多个日志文件合并:
        bashCopy Code
        relog cpu.blg memory.blg -o combined.blg
  4. 生成报告与分析数据:
    • 使用 Tracerpt 来生成基于事件的报告。
      • 示例: 将 ETL 文件转换为 XML 格式的报告:
        bashCopy Code
        tracerpt logfile.etl -o report.xml -of XML

通过这些工具的组合,可以实现对系统性能的全面监控、日志收集、数据分析和报告生成,帮助用户更好地理解和优化系统性能。


在 Windows 操作系统中,性能计数器(Performance Counters)是监控系统资源、性能和诊断信息的重要工具。为了管理和操作这些计数器,Windows 提供了多种命令行工具。以下是与性能计数器相关的一些主要命令和工具:

1. perfmon

perfmon 是一个图形化工具,可以查看实时性能数据、配置性能计数器以及生成和分析性能日志。虽然 perfmon 主要是一个 GUI 工具,但也可以通过命令行启动并执行某些任务。

  • 启动性能监视器

    Copy Code
    perfmon
  • 启动并指定打开的特定图表或视图

    Copy Code
    perfmon /res

    启动性能监视器并显示资源监视器。

  • 启动并打开性能日志

    Copy Code
    perfmon /report

    启动性能监视器并生成报告。

2. logman

logman 是一个命令行工具,主要用于创建、管理和查看 Windows 性能日志。它支持多种日志类型(如性能计数器日志、事件跟踪日志等),可以在后台定期收集数据。

logman /?

Microsoft ® Logman.exe (10.0.26100.1150)

用法:
  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 dddd tt:H:mm:ss[上午|下午]> 在指定时间开始数据收集程序。
  -e <yyyy-MM-dd dddd tt: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 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 Code
    logman query
  • 创建性能计数器日志集合

    Copy Code
    logman create counter MyLog -c "\Processor(_Total)\% Processor Time" -o "C:\PerfLogs\processor_data.blg" -f bincirc -max 100
  • 启动日志收集

    Copy Code
    logman start MyLog
  • 停止日志收集

    Copy Code
    logman stop MyLog
  • 删除日志集合

    Copy Code
    logman delete MyLog

3. typeperf

typeperf 是一个命令行工具,用于实时收集并显示性能计数器数据。它可用于简单的性能监控和日志记录,能够输出到屏幕、文件或其他日志格式。

typeperf /?

Microsoft ® TypePerf.exe (10.0.26100.1882)

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

命令 描述
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 Code
    typeperf "\Processor(_Total)\% Processor Time"
  • 将数据保存到文件

    Copy Code
    typeperf "\Processor(_Total)\% Processor Time" -o "C:\PerfLogs\cpu_data.csv"
  • 收集多个计数器

    Copy Code
    typeperf "\Processor(_Total)\% Processor Time" "\Memory\Available MBytes"
  • 指定时间间隔

    Copy Code
    typeperf "\Processor(_Total)\% Processor Time" -si 10

    其中 -si 10 表示每 10 秒钟记录一次数据。

4. lodctr

lodctr 是一个命令行工具,用于加载、卸载和管理 Windows 性能计数器的计数器定义文件(.ini 文件)。它通常用于安装新的计数器或修复损坏的计数器配置。

LODCTR

用法:

Copy Code
LODCTR <INI-filename>

加载指定的 INI 文件,并更新与之关联的性能计数器 DLL。

Copy Code
LODCTR /C:<CounterFile> /H:<HelpFile> /L:<LangID>

加载指定的计数器文件、帮助文件,并为指定语言 ID 配置计数器。

Copy Code
LODCTR /S:<Backup-filename>

创建 INI 文件的备份,保存在 <Backup-filename> 文件中。

Copy Code
LODCTR /R

重新加载默认的 INI 文件,并更新所有性能计数器。

Copy Code
LODCTR /R:<Backup-filename>

从指定的 <Backup-filename> 文件恢复并重新加载 INI 文件。

Copy Code
LODCTR /T:<service-name>

列出指定服务的性能计数器。

Copy Code
LODCTR /Q

显示已加载的性能计数器。

Copy Code
LODCTR /Q:<service-name>

显示指定服务的性能计数器。

Copy Code
LODCTR /E:<service-name>

启用指定服务的性能计数器。

Copy Code
LODCTR /D:<service-name>

禁用指定服务的性能计数器。

Copy Code
LODCTR /M:<Counter-Manifest> [<Installation-Path>]

加载 XML 格式的计数器清单文件,该文件符合 v2.0 规范,并为应用程序配置性能计数器。

  • <Counter-Manifest>:计数器清单文件路径。
  • <Installation-Path>:可选,指定安装路径。

清单文件中的 applicationIdentity 必须与计数器 DLL 匹配,以确保 DLL 正确加载。

备注:

  • 该工具用于管理和配置 Windows 性能计数器。
  • 支持服务级别的计数器配置,如启用、禁用或列出特定服务的性能计数器。
  • 加载计数器定义文件

    Copy Code
    lodctr /r

    该命令会重新加载系统中所有默认计数器定义。

  • 加载特定的性能计数器定义文件

    Copy Code
    lodctr "C:\Path\To\CustomCounters.ini"
  • 显示当前加载的计数器

    Copy Code
    lodctr /s
  • 卸载性能计数器定义文件

    Copy Code
    lodctr /u

5. unlodctr

unlodctrlodctr 的对立工具,用于卸载系统中的性能计数器和计数器定义。

UNLODCTR

用法:

Copy Code
UNLODCTR <service-name>

卸载指定服务 <service-name> 的性能计数器。适用于 v1.0 版本的服务。

Copy Code
UNLODCTR /m:<manifest>

卸载由指定的 XML 清单文件 <manifest> 定义的性能计数器。该清单必须符合 v2.0 版本的格式。

Copy Code
UNLODCTR /g:{ProviderGuid}

根据提供的 GUID 卸载性能计数器。适用于 v2.0 版本。GUID 格式为 {nnnnnnnn-nnnn...}

Copy Code
UNLODCTR /p:<ProviderName>

根据提供的 <ProviderName> 卸载性能计数器。适用于 v2.0 版本的提供程序。

备注:

  • 该工具用于卸载 Windows 系统中的性能计数器。
  • 支持通过服务名、GUID 或提供程序名称来卸载计数器。
  • 卸载指定的计数器类别

    Copy Code
    unlodctr "Process"

    该命令将卸载 "Process" 类别下的所有性能计数器。

  • 卸载所有性能计数器

    Copy Code
    unlodctr /u

6. Relog

Relog 用于将性能日志转换为其他格式、筛选数据、按时间范围截取数据等。它是处理和分析性能日志的一个有力工具。

Relog /?

Microsoft ® Relog.exe (10.0.26100.1150)

Relog 通过更改采样频率和/或转换文件格式,从现有性能日志的数据创建新的性能

日志。支持所有性能日志格式,包括 Windows NT 4.0 压缩日志。

用法:
Relog <filename [filename ...]> [options]

参数:
  <filename [filename ...]>     要重新记录的性能文件。

选项:
  -?                            显示跟上下文相关的帮助。
  -a                            将结果附到现有的二进制文件。
  -c <path [path ...]>          从输入日志筛选出的计数器。
  -cf <filename>                列出从输入日志筛选出的性能计数器。默认值是原始日志文件中的所有计数器。
  -f <CSV|TSV|BIN|SQL>          输出文件格式。
  -t <value>                    只将每个 nth 记录写入输出文件。默认值是写入每个记录。
  -o                            输出文件路径或 SQL 数据库。
  -b <yyyy-MM-dd dddd tt:H:mm:ss[上午|下午]>   第一个记录写入输出文件的开始时间。
  -e <yyyy-MM-dd dddd tt:H:mm:ss[上午|下午]>   最后一个记录写入输出文件的结束时间。
  -config <filename>            含有命令选项的设置文件。
  -q                            列出输入文件中的性能计数器。
  -y                            不用提示对所有问题都回答 yes。

示例:
  relog logfile.csv -c "\Processor(_Total)\% Processor Time" -o logfile.blg
  relog logfile.blg -cf counters.txt -f bin
  relog logfile.blg -f csv -o logfile.csv -t 2
  relog logfile.blg -q -o counters.txt

命令 描述
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 Code
    relog input.blg -f csv -o output.csv
  • 筛选特定的计数器

    Copy Code
    relog input.blg -c "\Processor(_Total)\% Processor Time" -o filtered.blg
  • 按时间段截取数据

    Copy Code
    relog input.blg -b "2024-12-28 09:00:00" -e "2024-12-28 18:00:00" -o time_filtered.blg
  • 追加数据到现有日志

    Copy Code
    relog new_log.blg -a -o existing_log.blg

7. TraceRpt

TraceRpt 用于分析和汇总跟踪文件(ETL 文件)中的事件数据。它主要用于处理由事件跟踪生成的文件,而不是传统的性能计数器日志文件。

TraceRpt /?

Microsoft ® TraceRpt.Exe (10.0.26100.1882)

用法:
  TraceRpt <[-l] <value [value [...]]>|-rt <session_name [session_name [...]]>> [选项]

选项:
  -?                            显示跟上下文相关的帮助。
  -config <filename>            含有命令选项的设置文件。
  -y                            不用提示对所有问题都回答 yes。
  -f <XML|HTML>                 报告格式。
  -of <CSV|EVTX|XML>            转储格式,默认值为 XML。
  -en <ANSI|Unicode>            输出文件编码。只允许使用 CSV 输出格式。
  -df <filename>                Microsoft 特定计数/报告架构文件。
  -import <filename [filename [...]]> 事件架构导入文件。
  -int <filename>               将解释的事件结构放入指定文件。
  -rts                          在事件跟踪标题中报告原始时间戳。只能与 -o 一起使用,不能与 -report 或 -summary 一起使
                                用。
  -tmf <filename>               跟踪消息格式定义文件
  -tp <value>                   TMF 文件搜索路径。可以使用多个路径,以“;”分隔。
  -i <value>                    指定提供程序映像路径。匹配的 PDB 将位于符号服务器中。可以使用多个路径,以“;”分隔。
  -pdb <value>                  指定符号服务器路径。可以使用多个路径,以“;”分隔。
  -gmt                          将 WPP 负载时间戳转换为 GMT 时间
  -rl <value>                   系统报告级别从 1 到 5,默认值为 1。
  -summary [filename]           摘要报告文本文件。默认值是 summary.txt。
  -o [filename]                 文本输出文件。默认值为 dumpfile.xml。
  -report [filename]            文本输出报告文件。默认值是 workload.xml。
  -lr                           限制较少,已经最大程度地满足与事件架构不匹配的事件。
  -export [filename]            事件架构导出文件。默认值为 schema.man。
  [-l] <value [value [...]]>    要处理的事件跟踪日志文件。
  -rt <session_name [session_name [...]]> 实时事件跟踪会话数据源。

示例:
  tracerpt logfile1.etl logfile2.etl -o logdump.xml -of XML
  tracerpt logfile.etl -o logdmp.xml -of XML -lr -summary logdmp.txt -report logrpt.xml
  tracerpt logfile1.etl logfile2.etl -o -report
  tracerpt logfile.etl counterfile.blg -report logrpt.xml -df schema.xml
  tracerpt -rt "NT Kernel Logger" -o logfile.csv -of CSV

命令 描述
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 Code
    tracerpt MyTraceFile.etl -o MyReport.xml
  • 以不同格式生成报告

    Copy Code
    tracerpt MyTraceFile.etl -o MyReport.html -of HTML
  • 分析特定时间范围的日志数据

    Copy Code
    tracerpt 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”类别的性能计数器)

详细功能描述

  1. perfmon
    perfmon 是 Windows 系统自带的性能监视器工具,允许用户创建、管理和查看性能监控器。可以通过该工具监控系统资源的使用情况,例如 CPU、内存、磁盘和网络活动。用户可以通过 GUI 界面设置不同的计数器并进行日志记录。

  2. logman
    logman 是一个命令行工具,用于创建和管理性能数据收集器。它支持收集系统性能数据、用户指定的计数器数据,并保存到日志文件中。使用该工具,用户可以设定数据收集的周期、文件大小限制等配置选项,支持定时任务。

  3. typeperf
    typeperf 允许用户在命令行中实时显示性能计数器的值。它支持将指定的计数器数据以表格或图形的方式输出。适用于需要即时监控某些系统性能指标的场景,例如 CPU 利用率、内存使用等。

  4. lodctr
    lodctr 用于加载和注册性能计数器信息,特别是在更新系统时(如安装新硬件或软件)需要重新加载计数器。它也支持通过 /r 重置系统的计数器信息,使得新的计数器能够被加载。

  5. unlodctr
    unlodctr 用于卸载不再需要的性能计数器。它可以删除指定的性能计数器类别,或者完全卸载系统中的所有性能计数器。此命令在移除应用程序或硬件后特别有用,以确保系统不再注册无效的计数器。

示例命令及说明

  1. 启动性能监视器
    在命令行中输入 perfmon,会打开性能监视器,用户可以通过 GUI 选择要监控的性能计数器。

    bashCopy Code
    perfmon
  2. 创建并启动性能日志收集器
    使用 logman 启动一个新的性能数据收集器并指定数据收集周期和日志文件路径:

    bashCopy Code
    logman start MyCollector -p "Processor" -s 10

    该命令启动一个名为 "MyCollector" 的性能收集器,收集 “Processor” 类别的性能数据,并每 10 秒采集一次。

  3. 实时显示 CPU 使用率
    使用 typeperf 实时显示 CPU 使用率(% Processor Time)数据:

    bashCopy Code
    typeperf "\Processor(_Total)\% Processor Time" /sc 5 /si 1

    该命令会每 1 秒收集一次 CPU 使用率,并显示 5 个样本。

  4. 加载并重置性能计数器信息
    使用 lodctr /r 命令重新加载系统的性能计数器信息:

    bashCopy Code
    lodctr /r

    该命令会加载性能计数器并重置系统中的计数器信息。

  5. 卸载“Processor”类别的性能计数器
    使用 unlodctr 卸载与“Processor”类别相关的性能计数器:

    bashCopy Code
    unlodctr "Processor"

    该命令将删除与 “Processor” 类别相关的所有性能计数器。

通过这些命令,用户可以方便地监控、管理和配置系统的性能计数器数据,帮助进行性能优化和故障排查。


Windows 性能计数器是 Windows 操作系统自带的一组监控工具,可以帮助用户实时跟踪和分析系统的运行状态。这些工具在性能优化、故障排除和系统维护中有着广泛的应用。以下是几个常用的性能计数器命令和它们的典型应用场景:

1. perfmon:性能监视器

命令:perfmon

功能描述perfmon 是 Windows 的图形界面工具,用于查看、创建和管理性能监视器。用户可以实时监控系统资源的使用情况,比如 CPU、内存、磁盘、网络等,还可以生成日志文件以便后续分析。

应用场景

  • 性能监控:管理员使用 perfmon 来监控系统的各类资源,实时查看各项指标,如 CPU 使用率、内存占用、磁盘 I/O 等。
  • 系统调优:开发人员和 IT 运维人员利用性能监视器来找出系统瓶颈,并根据监控数据进行优化。
  • 故障排查:在系统出现性能问题时,perfmon 可以帮助定位性能瓶颈,找到导致问题的资源(如内存泄漏、磁盘瓶颈等)。

示例: 打开性能监视器:

bashCopy Code
perfmon

这将启动性能监视器,用户可以通过 GUI 界面选择各种性能计数器,实时监控系统的运行状态。


2. logman:性能日志管理

命令:logman

功能描述logman 是一个命令行工具,用于创建、配置和管理性能日志。它允许用户收集系统的性能数据并保存为日志文件,适用于定期监控和长期分析。

应用场景

  • 定期性能收集:系统管理员可以使用 logman 创建定期收集性能数据的任务。例如,每隔一小时自动收集 CPU 和内存的使用情况。
  • 资源趋势分析:对于长时间运行的服务器,可以设置日志记录来分析资源使用趋势,如内存使用逐渐增加的问题。
  • 故障诊断:在系统发生崩溃或性能下降时,可以通过之前收集的日志数据,回溯系统行为,找出问题的根源。

示例: 启动性能日志收集器:

bashCopy Code
logman start MyCollector -p "Processor" -s 10

此命令启动一个名为 MyCollector 的日志收集器,每 10 秒收集一次处理器(Processor)的性能数据。


3. typeperf:实时性能数据输出

命令:typeperf

功能描述typeperf 是一个命令行工具,可以在终端中显示实时的性能计数器数据。它支持定时采样和输出,适用于需要实时查看某个计数器(如 CPU 使用率、内存等)的场景。

应用场景

  • 即时性能监控:开发人员或运维人员可以使用 typeperf 来实时查看系统的 CPU 使用率、内存使用情况等,并分析系统的当前状态。
  • 脚本化监控:可以将 typeperf 集成到批处理脚本或自动化监控工具中,实现自动化监控和报警。
  • 快速故障排查:在系统出现异常时,typeperf 可以帮助快速查看系统性能瓶颈,例如 CPU 高负载、内存占用过高等问题。

示例: 查看 CPU 使用率:

bashCopy Code
typeperf "\Processor(_Total)\% Processor Time" /sc 5 /si 1

此命令会每秒采样一次 CPU 总体使用率,并显示 5 个采样数据。


4. lodctr:加载性能计数器信息

命令:lodctr

功能描述lodctr 用于加载或重置性能计数器注册表信息。它通常用于在安装新硬件或应用程序后,注册新的性能计数器。

应用场景

  • 新硬件或应用安装后注册计数器:当安装新的硬件设备或软件时,lodctr 可以帮助注册该硬件或软件的性能计数器,从而使其能够在性能监控工具中被监控。
  • 恢复默认计数器信息:如果性能计数器数据损坏,可以使用 lodctr /r 来重置并恢复默认的计数器信息。

示例: 重置性能计数器:

bashCopy Code
lodctr /r

此命令会重置系统中的性能计数器,并重新加载它们。


5. unlodctr:卸载性能计数器信息

命令:unlodctr

功能描述unlodctr 用于卸载指定的性能计数器信息。它可以删除不再使用的计数器,帮助减少系统负担。

应用场景

  • 清理无用的计数器:如果某些不再需要的计数器继续存在,使用 unlodctr 可以卸载这些计数器,避免系统性能受影响。
  • 移除无效计数器:在删除硬件或卸载软件后,使用 unlodctr 可以清理不再需要的性能计数器,防止它们仍然占用资源。

示例: 卸载“Processor”类别的性能计数器:

bashCopy Code
unlodctr "Processor"

此命令会卸载与“Processor”类别相关的所有性能计数器。


 

这些性能计数器工具在多个应用场景下非常有用,特别是在 系统监控性能优化故障排查资源趋势分析 方面。通过适当地使用 perfmonlogmantypeperflodctrunlodctr,可以有效地管理和优化系统的性能,帮助系统管理员和开发人员及时发现和解决潜在的性能问题。

typeperf 是 Windows 操作系统中用于采集和显示性能数据的命令行工具。它能够实时收集和显示性能计数器的数据,也支持将数据输出到文件中以供后续分析。typeperf 的常用功能包括实时显示性能数据、输出到文件、设置数据收集间隔等。

以下是 typeperf 按功能分类的表格化总结:

typeperf 按功能分类表

功能类别 命令/选项 说明 示例
显示实时性能数据 <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 <格式> 设置输出格式。支持的格式包括 csvtsv(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

功能描述

  1. 显示实时性能数据
    typeperf 可以用来实时显示指定性能计数器的性能数据。用户可以直接在命令行中指定要监控的计数器,输出实时数据。

  2. 输出数据到文件
    typeperf 可以将采集到的性能数据输出到指定的文件中。默认的输出格式是 CSV,但也可以通过设置格式参数选择其他格式(如 TSV)。

  3. 设置数据采样频率
    通过 -si 选项,可以设置数据采样的时间间隔。默认情况下,typeperf 每秒采集一次数据,使用此选项可以调整为其他时间间隔(以秒为单位)。

  4. 设置采样持续时间
    -sc 选项可以设定采样的次数,在采样次数达到预定值时,typeperf 会自动停止数据收集。

  5. 显示帮助信息
    通过 /? 选项,用户可以查看 typeperf 的命令帮助文档,了解如何使用各种选项。

  6. 输出以时间戳格式显示
    -f 选项允许用户设置输出的格式,可以选择 csvtsv 等,输出的数据包括时间戳和对应的性能计数器值。

  7. 显示所有可用的性能计数器
    使用 /q 选项,typeperf 可以列出当前系统中所有可用的性能计数器,帮助用户选择要监控的计数器。

  8. 输出到远程计算机
    使用 /s <计算机名> 可以指定远程计算机来收集其性能数据。远程计算机的性能计数器数据可以像本地计算机一样进行监控。

  9. 在后台运行
    使用 /d 选项,typeperf 将以后台方式运行,命令行界面不会显示实时数据,而是直接输出到文件。

  10. 显示特定时间的快照数据
    通过 -cf 选项,可以指定一个配置文件,其中包含预定义的性能计数器和相关配置。使用配置文件可以简化多次重复的性能数据采集任务。

  11. 设置最大输出行数
    -max 选项允许用户限制输出的行数。当数据量较大时,可以避免输出过多内容导致滚动太快。

示例命令

  • 实时显示 CPU 使用率

    bashCopy Code
    typeperf "\Processor(_Total)\% Processor Time"

    显示系统 CPU 使用率的实时数据。

  • 将性能数据输出到 CSV 文件

    bashCopy Code
    typeperf "\Processor(_Total)\% Processor Time" -o C:\cpu_usage.csv

    将 CPU 使用率的实时数据保存到 C:\cpu_usage.csv 文件中。

  • 设置每 10 秒采样一次 CPU 使用率

    bashCopy Code
    typeperf "\Processor(_Total)\% Processor Time" -si 10

    每 10 秒采样一次 CPU 使用率。

  • 限制采样 5 次

    bashCopy Code
    typeperf "\Processor(_Total)\% Processor Time" -sc 5

    采样 5 次后停止。

  • 查询所有可用的性能计数器

    bashCopy Code
    typeperf /q

    列出所有系统中的可用性能计数器。

  • 显示磁盘读取字节数并保存到文件

    bashCopy Code
    typeperf "\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 /?

功能描述

  1. 卸载性能计数器
    unlodctr 允许用户卸载指定类别的性能计数器。通过指定计数器类别(例如,“Processor”),可以卸载所有与该类别相关的性能计数器。

  2. 卸载特定应用程序的计数器
    可以卸载某个应用程序或服务的性能计数器。用户需要指定应用程序或服务的名称,工具会移除该应用相关的所有性能计数器。

  3. 卸载计数器时显示信息
    使用 /s 选项,unlodctr 在卸载计数器时会显示更多的卸载信息,帮助用户了解每个卸载步骤。

  4. 卸载远程计算机的性能计数器
    通过 /m:<计算机名> 选项,unlodctr 可以在远程计算机上卸载性能计数器,指定远程计算机的名称或 IP 地址进行操作。

  5. 卸载所有计数器
    使用 /f 选项可以卸载系统中所有已注册的性能计数器,这通常用于重置计数器或清除不需要的计数器。

  6. 显示帮助信息
    使用 /? 选项,用户可以查看 unlodctr 的帮助信息,了解该工具的详细用法和支持的所有命令选项。

示例命令

  • 卸载“Processor”类别的计数器

    bashCopy Code
    unlodctr "Processor"

    卸载与“Processor”类别相关的所有性能计数器。

  • 卸载“Processor”类别的计数器并显示详细信息

    bashCopy Code
    unlodctr "Processor" /s

    卸载“Processor”类别的计数器,同时显示卸载的详细信息。

  • 卸载本地计算机上“Processor”类别的计数器

    bashCopy Code
    unlodctr "Processor" /m:RemotePC

    在远程计算机(RemotePC)上卸载“Processor”类别的计数器。

  • 卸载所有性能计数器

    bashCopy Code
    unlodctr /f

    卸载系统上所有已注册的性能计数器。

  • 查询帮助信息

    bashCopy Code
    unlodctr /?

    显示 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 查询并显示系统事件日志。

功能描述

  1. 启动与访问性能监视工具

    • 启动性能监视器界面和报告工具,通过命令行快速访问并生成性能报告。
  2. 收集和查看性能数据

    • 使用 typeperf 工具获取并格式化性能数据,可以通过指定不同的参数来查看实时或历史性能数据,并将数据导出为 CSV 或其他格式。
  3. 创建和管理数据收集器集

    • logman 是一个强大的命令行工具,可以创建、管理和停止性能数据收集器集。它支持多种数据收集模式,包括性能计数器、事件跟踪和配置文件数据。
  4. 数据分析与报告

    • 通过 perfmon /report 可以生成详细的性能分析报告,帮助用户发现系统性能瓶颈,支持系统优化。
  5. 性能监视器设置与管理

    • 配置性能监视器的行为,重置或调整性能监视器的设置,帮助用户根据实际需要定制监控方式。
  6. 查看和配置数据集

    • 查看可用的性能计数器,并配置哪些计数器需要被监控。可以选择特定的资源进行详细分析。
  7. 远程监控与管理

    • 通过远程连接到其他计算机,使用 perfmon 工具进行性能监控。适用于分布式环境中的性能诊断。
  8. 查看日志文件与导出数据

    • 导出性能数据或日志文件,以便进一步分析或备份,支持 CSV、XML 等格式。
  9. 性能计数器配置

    • 配置并查看系统中的各种性能计数器,帮助用户从系统资源的角度分析计算机性能。
  10. Windows 事件日志监控

    • 使用 wevtutil 命令查询和管理 Windows 事件日志,分析系统事件、应用程序和安全日志,诊断潜在问题。

 

PerfMon 提供了强大的工具集来监控和分析 Windows 系统的性能。通过命令行工具,如 typeperflogman,用户可以定制自己的性能监控方案,实时查看性能数据、生成报告,分析性能瓶颈,并进行远程管理。

要启用或禁用**磁盘**性能计数器,您可以使用以下命令:

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 /? 显示帮助信息。

功能描述

  1. 启用磁盘性能计数器

    • DISKPERF -y 启用磁盘性能计数器。这会开始收集磁盘的 I/O 性能数据,可以被系统性能监控工具(如 PerfMon 或 typeperf)使用。
  2. 禁用磁盘性能计数器

    • DISKPERF -n 禁用磁盘性能计数器。这会停止磁盘的 I/O 性能数据收集,通常在不需要磁盘 I/O 性能数据时使用。
  3. 查看当前状态

    • DISKPERF -status 命令可以用来查看磁盘性能计数器的当前状态。这个命令会显示磁盘 I/O 性能计数器是否启用,方便用户管理磁盘监控状态。
  4. 启用/禁用特定驱动器的性能计数器

    • 使用 DISKPERF -d <驱动器字母>,用户可以指定特定的磁盘驱动器启用或禁用性能计数器。这对于需要精确监控某个驱动器的磁盘 I/O 性能时非常有用。
  5. 查看帮助信息

    • 通过 DISKPERF /? 命令,用户可以查看所有可用的选项和命令,用于快速学习如何使用该工具。

示例命令

  • 启用磁盘性能计数器

    bashCopy Code
    DISKPERF -y

    这个命令会启用所有磁盘驱动器的性能计数器。

  • 禁用磁盘性能计数器

    bashCopy Code
    DISKPERF -n

    这个命令会禁用磁盘的性能计数器,停止收集磁盘 I/O 性能数据。

  • 查看磁盘性能计数器的状态

    bashCopy Code
    DISKPERF -status

    该命令会显示当前系统中磁盘性能计数器的启用/禁用状态。

  • 启用特定磁盘驱动器的性能计数器

    bashCopy Code
    DISKPERF -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 /? 显示帮助信息。

功能描述

  1. 加载性能计数器信息

    • LODCTR /S:<文件名> 用于从指定的 .ini 配置文件加载性能计数器信息。这通常用于自定义计数器或第三方应用程序提供的计数器,帮助加载额外的性能监控数据。
  2. 更新性能计数器信息

    • LODCTR /R 会重新加载并更新系统的性能计数器配置。这通常用于应用程序或操作系统更新后,确保计数器信息处于最新状态。
  3. 查看性能计数器信息

    • LODCTR /L 命令列出当前系统中已加载的所有性能计数器。可以用来检查哪些计数器已经启用,并查看其基本信息。
  4. 查看计数器的详细信息

    • LODCTR /Q 提供当前系统中所有性能计数器的详细信息,包括计数器的名称和相关数据。用于检查和分析性能计数器的详细配置和状态。
  5. 修复性能计数器配置

    • LODCTR /F 用于修复系统中的损坏或丢失的性能计数器配置。该命令将重新生成计数器数据并恢复计数器配置。此命令可以解决由于系统错误导致的计数器丢失问题。
  6. 显示帮助信息

    • LODCTR /? 用于显示 LODCTR 命令的帮助信息,列出所有支持的选项和命令。可以使用此命令查看详细的命令用法和参数说明。

示例命令

  • 加载指定的计数器配置文件

    bashCopy Code
    LODCTR /S:C:\PerfCounters.ini

    该命令从 C:\PerfCounters.ini 文件中加载性能计数器配置信息。

  • 更新所有计数器配置信息

    bashCopy Code
    LODCTR /R

    该命令将更新系统中的所有性能计数器信息。

  • 列出当前已加载的所有计数器

    bashCopy Code
    LODCTR /L

    该命令列出当前系统中所有已加载的计数器。

  • 查询计数器的详细信息

    bashCopy Code
    LODCTR /Q

    该命令显示系统中所有性能计数器的详细信息。

  • 修复损坏的性能计数器配置

    bashCopy Code
    LODCTR /F

    该命令修复损坏或丢失的性能计数器配置。

  • 显示帮助信息

    bashCopy Code
    LODCTR /?

    该命令显示 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 Learn

XPERF 是 Microsoft 提供的一款性能分析工具,它广泛应用于 Windows 操作系统的性能跟踪和分析,尤其是在性能调优和故障排查方面。下面是 XPERF 命令行工具的一些选项和操作说明:

XPERF 命令选项

  1. help
    显示 Xperf 工具的所有选项和操作的帮助信息。

  2. mark
    显示 标记标记刷新 的选项,用户可以使用标记功能来标注跟踪中的特定事件或时刻,方便后期分析。

  3. merge
    显示 跟踪合并 选项。可以将多个性能跟踪文件合并为一个文件,方便进行综合分析。

  4. processing
    显示 跟踪后处理 选项。此选项用于进一步处理和分析已收集到的跟踪数据。

  5. providers
    显示 提供程序查询 选项。该命令可以列出当前可用的跟踪提供程序(如 CPU、内存、磁盘等),以供选择分析。

  6. stackwalk
    显示 堆栈步进 选项。用于深入分析调用堆栈,帮助用户追踪代码的执行路径。

  7. start
    显示 记录器启动 选项。此命令用于启动性能跟踪记录器,开始采集系统性能数据。

  8. stop
    显示 跟踪停止 选项。该命令用于停止性能跟踪,结束数据收集过程。

  9. symbols
    启用和配置 符号解码 支持。通过加载符号文件,Xperf 能够提供更具可读性的堆栈跟踪和函数调用信息。

  10. view
    图形查看器 中显示跟踪结果。用户可以使用该选项将收集到的性能数据在图形界面中可视化,便于分析和解读。

这些选项和操作可以帮助用户更细致地控制性能数据的收集、分析和展示。具体的使用方法可以通过 Xperf help 命令来进一步了解。

常见的 XPERF 命令行工具示例,用于性能跟踪、分析和后处理等操作:

1. 启动性能跟踪

bashCopy Code
xperf -start MyTrace -on CPU,Disk

说明:

  • -start MyTrace:启动一个名为 MyTrace 的跟踪会话。
  • -on CPU,Disk:启用对 CPU 和磁盘的跟踪提供程序。

2. 停止性能跟踪

bashCopy Code
xperf -stop MyTrace

说明:

  • -stop MyTrace:停止 MyTrace 会话的跟踪并保存跟踪数据。

3. 合并跟踪文件

bashCopy Code
xperf -merge trace1.etl trace2.etl -o mergedTrace.etl

说明:

  • -merge trace1.etl trace2.etl:将两个跟踪文件(trace1.etl 和 trace2.etl)合并。
  • -o mergedTrace.etl:指定输出的合并结果文件为 mergedTrace.etl

4. 查看跟踪数据

bashCopy Code
xperf -view mergedTrace.etl

说明:

  • -view mergedTrace.etl:在图形查看器中查看 mergedTrace.etl 文件的内容。

5. 使用符号解码

bashCopy Code
xperf -symbols C:\Symbols -load trace.etl

说明:

  • -symbols C:\Symbols:指定符号文件的路径(例如,.pdb 文件)。
  • -load trace.etl:加载 trace.etl 文件并使用指定的符号解码信息。

6. 堆栈分析

bashCopy Code
xperf -stackwalk profile

说明:

  • -stackwalk profile:对 CPU 或内存使用情况进行堆栈分析,并生成调用栈信息。

7. 列出可用的提供程序

bashCopy Code
xperf -providers

说明:

  • -providers:列出所有可用的跟踪提供程序(如 CPU、磁盘、网络等)。

8. 跟踪标记

bashCopy Code
xperf -mark "Checkpoint 1"

说明:

  • -mark "Checkpoint 1":在当前跟踪中添加一个标记,方便后续分析时定位关键点。

9. 处理和分析跟踪

bashCopy Code
xperf -processing mergedTrace.etl

说明:

  • -processing mergedTrace.etl:对 mergedTrace.etl 文件进行进一步处理或分析。

10. 查询并输出特定的提供程序信息

bashCopy Code
xperf -providers -query CPU

说明:

  • -providers -query CPU:查询并显示与 CPU 相关的所有跟踪提供程序。

这些示例展示了如何利用 Xperf 命令行工具执行从启动跟踪、停止跟踪、合并文件、堆栈分析到数据后处理等一系列性能分析任务。

更多 XPERF 命令行工具的示例,帮助你更好地理解如何使用该工具进行性能分析和诊断:

1. 启动跟踪并启用多个提供程序

bashCopy Code
xperf -start MyTrace -on CPU,Disk,Memory

说明:

  • 启动一个名为 MyTrace 的跟踪会话,启用对 CPU、磁盘 和 内存 的跟踪。

2. 跟踪并收集时间片

bashCopy Code
xperf -start MyTrace -on CPU -buffersize 1024 -period 100

说明:

  • -buffersize 1024:设置缓冲区大小为 1024 KB。
  • -period 100:设置时间片周期为 100 毫秒。

3. 记录和分析 GPU 使用情况

bashCopy Code
xperf -start GPUTrace -on GPU
xperf -stop GPUTrace
xperf -view GPUTrace.etl

说明:

  • 启动 GPU 跟踪并记录数据,随后停止跟踪并在图形查看器中查看结果。

4. 合并多个跟踪文件

bashCopy Code
xperf -merge trace1.etl trace2.etl -o merged.etl

说明:

  • 合并两个跟踪文件 trace1.etl 和 trace2.etl,并将结果输出到 merged.etl 文件。

5. 在跟踪中加入标记

bashCopy Code
xperf -mark "Start Process A"

说明:

  • 在跟踪中添加一个标记 "Start Process A",以便在后续分析时定位特定时间点或事件。

6. 使用符号解码

bashCopy Code
xperf -symbols C:\Symbols -load trace.etl

说明:

  • 加载符号文件夹(如 .pdb 文件所在路径),并解码跟踪数据文件 trace.etl

7. 列出跟踪提供程序

bashCopy Code
xperf -providers

说明:

  • 列出当前系统中可用的所有跟踪提供程序,如 CPU、磁盘、网络等。

8. 查看跟踪数据

bashCopy Code
xperf -view trace.etl

说明:

  • 使用图形化界面查看 trace.etl 文件中的性能数据。

9. 分析堆栈跟踪

bashCopy Code
xperf -stackwalk profile

说明:

  • 对 profile 进行堆栈分析,输出调用栈信息,帮助进一步分析性能瓶颈。

10. 处理和分析 ETL 文件

bashCopy Code
xperf -processing trace.etl

说明:

  • 对跟踪文件 trace.etl 进行后处理和分析,提取有用的性能数据。

11. 启用详细的系统分析

bashCopy Code
xperf -on CPU,Disk,Memory,Network -buffersize 2048 -period 50

说明:

  • 启用 CPU、磁盘、内存 和 网络 提供程序的详细分析,设置缓冲区大小为 2048 KB,时间片周期为 50 毫秒。

12. 停止记录并输出合并文件

bashCopy Code
xperf -stop MyTrace
xperf -merge MyTrace.etl AdditionalTrace.etl -o FinalTrace.etl

说明:

  • 停止记录跟踪 MyTrace,然后将其与 AdditionalTrace.etl 合并并输出到 FinalTrace.etl

这些命令展示了如何使用 XPERF 进行跟踪启动、合并文件、堆栈分析、符号解码等操作。根据你的需求,你可以灵活地调整命令选项进行性能分析。

更多 XPERF 命令行工具的示例,帮助你深入了解如何利用 XPERF 进行系统性能的跟踪、分析和调优:

1. 启动一个自定义跟踪并设置多个跟踪提供程序

bashCopy Code
xperf -start CustomTrace -on CPU,Disk,Memory,Network -buffersize 2048 -period 50

说明:

  • 启动一个名为 CustomTrace 的跟踪会话。
  • 启用 CPU、磁盘、内存 和 网络 的跟踪。
  • 设置缓冲区大小为 2048 KB,时间片周期为 50 毫秒。

2. 启动并启用线程 CPU 使用情况跟踪

bashCopy Code
xperf -start ThreadCPU -on CPU -stackwalk profile

说明:

  • 启动一个名为 ThreadCPU 的跟踪会话,跟踪 CPU 使用情况。
  • 启用 堆栈分析,深入分析线程的 CPU 使用情况。

3. 查看特定提供程序的详细信息

bashCopy Code
xperf -providers -query Disk

说明:

  • 列出 Disk 提供程序的详细信息,包括每个磁盘的性能数据。

4. 停止跟踪并查看实时性能数据

bashCopy Code
xperf -stop CustomTrace
xperf -view CustomTrace.etl

说明:

  • 停止 CustomTrace 会话的跟踪并生成 CustomTrace.etl 文件。
  • 在图形化界面中查看和分析 CustomTrace.etl 文件中的性能数据。

5. 启用并分析 I/O 操作的延迟

bashCopy Code
xperf -start IO_Delay -on Disk -stackwalk profile

说明:

  • 启动 IO_Delay 会话并启用 磁盘 I/O 跟踪。
  • 对磁盘 I/O 操作的延迟进行堆栈分析,帮助定位性能瓶颈。

6. 使用符号文件解码跟踪数据

bashCopy Code
xperf -symbols C:\Symbols -load Trace.etl

说明:

  • 加载 C:\Symbols 文件夹中的符号文件(例如 .pdb 文件),并解码 Trace.etl 文件中的堆栈信息。

7. 合并多个跟踪文件并生成报告

bashCopy Code
xperf -merge Trace1.etl Trace2.etl -o MergedTrace.etl
xperf -view MergedTrace.etl

说明:

  • 将 Trace1.etl 和 Trace2.etl 合并,生成一个名为 MergedTrace.etl 的文件。
  • 在图形化查看器中查看合并后的跟踪数据。

8. 通过标记分析关键事件

bashCopy Code
xperf -mark "Start of Task"

说明:

  • 在跟踪中添加标记 "Start of Task",可以帮助在分析中快速找到特定事件的起始位置。

9. 执行跨多个进程的堆栈分析

bashCopy Code
xperf -stackwalk profile -on CPU -query process

说明:

  • 对多个进程进行堆栈分析,帮助深入了解在不同进程中发生的性能问题。

10. 监视系统资源使用情况

bashCopy Code
xperf -start SystemMonitor -on CPU,Memory,Disk,Network -buffersize 4096 -period 200

说明:

  • 启动 SystemMonitor 跟踪会话,监视 CPU、内存、磁盘 和 网络 的使用情况。
  • 设置缓冲区大小为 4096 KB,时间片周期为 200 毫秒。

11. 在分析过程中显示实时日志

bashCopy Code
xperf -view RealTimeLog.etl

说明:

  • 实时查看 RealTimeLog.etl 文件中的性能数据,帮助快速诊断系统问题。

12. 针对特定应用程序进行 CPU 分析

bashCopy Code
xperf -start AppCPU -on CPU -stackwalk profile -query MyApp.exe

说明:

  • 启动 AppCPU 跟踪会话,仅针对 MyApp.exe 应用程序的 CPU 使用情况进行分析。

13. 查询并输出系统总体性能

bashCopy Code
xperf -providers -query System

说明:

  • 查询系统的总体性能数据,如 CPU 使用率、内存使用情况等,并输出相关统计信息。

14. 导出性能跟踪为 CSV 格式

bashCopy Code
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

功能描述

  1. 创建和管理日志

    • logman create 用于创建新的日志会话或数据收集会话。用户可以指定性能计数器、事件跟踪等多种数据源类型,以及日志的存储位置和格式。该命令为性能监控和诊断提供了灵活的配置选项。
  2. 启动日志

    • logman start 命令用于启动一个已经创建的日志会话或性能跟踪会话,开始数据收集过程。
  3. 停止日志

    • logman stop 用于停止一个正在收集数据的日志会话或跟踪会话,结束数据收集并将数据保存到指定的位置。
  4. 删除日志

    • logman delete 删除指定的日志或跟踪会话,清理不再需要的日志配置。
  5. 显示日志信息

    • logman query 查询并显示有关指定日志会话的详细信息,包括会话的状态、收集的数据等。
  6. 导出日志配置

    • logman export 将日志会话的配置导出为文件,方便备份或共享给其他用户。可以保存为 XML 格式的文件。
  7. 导入日志配置

    • logman import 从外部文件中导入日志会话的配置,恢复之前的设置,适用于在不同的机器或环境中复用配置。
  8. 显示帮助信息

    • logman /? 命令提供帮助信息,列出所有支持的命令和选项,帮助用户了解如何使用 logman 工具。
  9. 更改日志配置

    • logman update 命令允许用户修改已经创建的日志会话的配置,例如添加或删除计数器、修改日志文件的存储路径等。
  10. 查看日志详细信息

  • logman list 列出当前所有的日志会话及其相关详细信息,包括日志的状态、收集的计数器等。
  1. 显示性能计数器
  • logman counters 显示当前系统中可用的所有性能计数器,帮助用户了解可以监控哪些系统指标。

示例命令

  • 创建一个性能计数器日志

    bashCopy Code
    logman create counter MyLog -c "\Processor(_Total)\% Processor Time" -s <服务器>

    该命令创建一个性能计数器日志会话,监控 \Processor(_Total)\% Processor Time

  • 启动日志会话

    bashCopy Code
    logman start MyLog

    启动名为 MyLog 的日志会话,开始数据收集。

  • 停止日志会话

    bashCopy Code
    logman stop MyLog

    停止名为 MyLog 的日志会话,结束数据收集。

  • 删除日志会话

    bashCopy Code
    logman delete MyLog

    删除名为 MyLog 的日志会话。

  • 查询日志信息

    bashCopy Code
    logman query MyLog

    查询并显示名为 MyLog 的日志会话信息。

  • 导出日志配置

    bashCopy Code
    logman export -n MyLog -f MyLogConfig.xml

    MyLog 的配置导出为 XML 格式的文件 MyLogConfig.xml

  • 导入日志配置

    bashCopy Code
    logman import -f MyLogConfig.xml

    MyLogConfig.xml 文件中导入日志会话配置。

  • 查看所有可用的性能计数器

    bashCopy Code
    logman 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 <文件名 [文件名 ...]> [选项]

参数说明:

  • <文件名 [文件名 ...]> 要重新记录的性能文件。

选项:

  • -? 显示上下文敏感的帮助信息。
  • -a 将输出附加到现有的二进制文件中。
  • -c <路径 [路径 ...]> 从输入日志中过滤的计数器。
  • -cf <文件名> 包含性能计数器列表的文件,用于从输入日志中过滤。默认情况下,所有原始日志文件中的计数器都会被包含。
  • -f <CSV|TSV|BIN|SQL> 输出文件格式。
  • -t <值> 仅将每第n条记录写入输出文件。默认是写入每一条记录。
  • -o 输出文件路径或 SQL 数据库。
  • -b <yyyy-MM-dd ddd H:mm:ss[上午|下午]> 开始时间,表示写入输出文件的第一条记录的时间。
  • -e <yyyy-MM-dd ddd H:mm:ss[上午|下午]> 结束时间,表示写入输出文件的最后一条记录的时间。
  • -config <文件名> 包含命令选项的设置文件。
  • -q 列出输入文件中的性能计数器。
  • -y 无需提示直接回答“是”以确认所有问题。

示例:

  • relog logfile.csv -c "\Processor(_Total)\% Processor Time" -o logfile.blg
    logfile.csv 中的 CPU 使用率(Processor(_Total)\% Processor Time)数据提取并输出为 logfile.blg

  • relog logfile.blg -cf counters.txt -f bin
    logfile.blg 中按照 counters.txt 文件中的计数器列表提取数据,并以二进制格式(bin)输出。

  • relog logfile.blg -f csv -o logfile.csv -t 2
    logfile.blg 中的记录以 CSV 格式输出为 logfile.csv,每隔一条记录写入一次。

  • relog logfile.blg -q -o counters.txt
    列出 logfile.blg 中的所有性能计数器,并将其输出到 counters.txt 文件中。


这个工具非常有用,可以帮助你将性能日志文件格式进行转换,提取特定的计数器,或者从日志中选择特定的时间段进行分析。

Relog.exe 是一个用于转换和处理性能日志的工具,主要应用于以下几个场景:

1. 转换性能日志格式

  • 场景:当你有不同格式的性能日志文件(例如 .blg 或 .csv 格式),需要将它们转换为其他格式(如 .csv.bin 或 .sql)以便进行分析或保存时。
  • 应用示例:将 Windows 性能日志(.blg 格式)转换为 CSV 格式(.csv)以便在 Excel 中查看,或将日志转换为二进制格式以供其他工具处理。

命令示例

Copy Code
relog logfile.blg -f csv -o logfile.csv

2. 筛选特定的性能计数器

  • 场景:当性能日志包含大量计数器数据,但你只关心某些特定的计数器时,可以使用 -c 或 -cf 选项进行筛选,提取需要的计数器。
  • 应用示例:你只想分析 CPU 使用率、内存占用等关键指标,而忽略其他计数器。通过提供计数器路径或外部的计数器列表文件来过滤不需要的数据。

命令示例

Copy Code
relog logfile.blg -c "\Processor(_Total)\% Processor Time" -o filtered_log.blg

3. 按时间范围提取数据

  • 场景:你希望只分析特定时间段内的性能数据,而不是整份日志中的所有数据。使用 -b 和 -e 选项来指定开始时间和结束时间。
  • 应用示例:提取某一天的性能数据,或者在特定的故障时间段内分析性能变化。

命令示例

Copy Code
relog logfile.blg -b "2024-12-28 09:00:00" -e "2024-12-28 18:00:00" -o filtered_log.blg

4. 减少输出文件的大小

  • 场景:性能日志文件通常非常大,在对数据进行分析时,可能并不需要每一条记录。通过 -t 选项,你可以指定只输出每第n条记录,这样可以大大减少文件的大小,便于存储和处理。
  • 应用示例:如果你只关心大概的性能趋势,而不是每一条细节记录,可以选择每隔一段时间(例如每 10 条记录)进行保存。

命令示例

Copy Code
relog logfile.blg -t 10 -o reduced_log.csv

5. 附加数据到现有日志

  • 场景:如果你已经有一个性能日志文件,并希望将新的数据追加到现有的日志中,可以使用 -a 选项。这对长期监控和数据积累非常有用。
  • 应用示例:在一个周期性监控任务中,每个月记录的性能数据可能需要追加到一个主日志文件中。

命令示例

Copy Code
relog new_log.blg -a -o existing_log.blg

6. 列出和查看性能计数器

  • 场景:如果你不确定日志文件中包含哪些性能计数器,使用 -q 选项可以列出所有可用的性能计数器。这个功能对于熟悉日志数据结构并选择需要的计数器非常有帮助。
  • 应用示例:检查现有日志中所有可用的计数器,以便进一步筛选或处理。

命令示例

Copy Code
relog logfile.blg -q

7. 批量处理和自动化

  • 场景:在大规模的性能监控环境中,可能需要批量处理多个日志文件,或者在不干预的情况下自动化执行。通过配置命令选项文件(-config),可以将配置选项保存到文件中,便于在多个执行中复用。
  • 应用示例:对于企业级的性能监控系统,定期处理和转换性能数据是常见任务。将配置文件与任务调度器结合使用,实现自动化操作。

命令示例

Copy Code
relog logfile.blg -config settings.cfg

8. SQL 数据库存储和查询

  • 场景:将性能数据导入到 SQL 数据库中,以便进行更加复杂的数据分析和查询。如果需要长期保存并对数据进行结构化存储,可以选择将性能数据输出为 SQL 格式。
  • 应用示例:使用数据库管理工具对性能日志进行查询和分析,或通过自定义脚本进行更深入的数据分析。

命令示例

Copy Code
relog logfile.blg -f sql -o performance_db

 

Relog.exe 是一个非常灵活的工具,适用于多种需要处理和转换 Windows 性能日志的场景。无论是日志格式转换、数据筛选、按时间段提取、减少日志大小,还是将数据存储到 SQL 数据库,它都能提供强大的支持。

tracerpt.exe:将性能日志文件中的数据转换为不同格式的文件。该工具支持多种输出格式,包括文本文件、HTML 文件、XML 文件和 SQL 数据库等。

Microsoft ® TraceRpt.Exe (10.0.26100.1882)

用法

Copy Code
tracerpt <[-l] <value [value [...]]>|-rt <session_name [session_name [...]]>> [选项]

选项

  • -?
    显示上下文敏感的帮助信息。

  • -config <filename>
    包含命令选项的设置文件。

  • -y
    自动回答所有问题,无需提示。

  • -f <XML|HTML>
    报告格式。

  • -of <CSV|EVTX|XML>
    输出格式,默认是 XML。

  • -en <ANSI|Unicode>
    输出文件编码。仅在选择 CSV 输出格式时有效。

  • -df <filename>
    Microsoft 特定的计数/报告模式文件。

  • -import <filename [filename [...]]>
    事件模式导入文件。

  • -int <filename>
    将解释后的事件结构导出到指定文件。

  • -rts
    在事件跟踪头中报告原始时间戳。只能与 -o 一起使用,不能与 -report 或 -summary 一起使用。

  • -tmf <filename>
    跟踪消息格式定义文件。

  • -tp <value>
    TMF 文件搜索路径。可以使用多个路径,用分号 ; 分隔。

  • -i <value>
    指定提供程序映像路径。匹配的 PDB 将位于符号服务器中。可以使用多个路径,用分号 ; 分隔。

  • -pdb <value>
    指定符号服务器路径。可以使用多个路径,用分号 ; 分隔。

  • -gmt
    将 WPP 负载的时间戳转换为 GMT 时间。

  • -rl <value>
    系统报告级别,范围从 1 到 5,默认值为 1。

  • -summary [filename]
    汇总报告文本文件。默认是 summary.txt

  • -o [filename]
    文本输出文件。默认是 dumpfile.xml

  • -report [filename]
    文本输出报告文件。默认是 workload.xml

  • -lr
    较少限制;对于不匹配事件模式的事件,尽力而为。

  • -export [filename]
    事件模式导出文件。默认是 schema.man

  • [-l] <value [value [...]]>
    要处理的事件跟踪日志文件。

  • -rt <session_name [session_name [...]]>
    实时事件跟踪会话数据源。


示例

  • tracerpt logfile1.etl logfile2.etl -o logdump.xml -of XML
  • tracerpt logfile.etl -o logdmp.xml -of XML -lr -summary logdmp.txt -report logrpt.xml
  • tracerpt logfile1.etl logfile2.etl -o -report
  • tracerpt logfile.etl counterfile.blg -report logrpt.xml -df schema.xml
  • tracerpt -rt "NT Kernel Logger" -o logfile.csv -of CSV

TraceRpt.exe 是微软提供的一种用于分析和生成系统性能跟踪报告的工具。它主要用于处理 Windows 操作系统生成的事件跟踪日志(ETL)文件,并生成有用的分析报告。该工具的应用场景主要集中在以下几个方面:

1. 性能诊断与分析

  • 应用场景:开发人员和系统管理员在调试或优化系统性能时,常常会启用 Windows 的事件跟踪功能(ETW)。TraceRpt.exe 可以处理这些 ETL 文件,生成详细的报告,帮助用户了解系统性能瓶颈、资源消耗等问题。
  • 典型用途:在高负载环境下,使用 TraceRpt.exe 分析 CPU 使用率、磁盘 I/O、网络流量等性能数据,以确定是否存在性能瓶颈。

2. 系统故障排查

  • 应用场景:在遇到系统崩溃、蓝屏、应用程序崩溃等问题时,系统日志文件(如 ETL 文件)包含了大量有用的调试信息。通过 TraceRpt.exe 分析这些日志,可以帮助 IT 专业人员找出导致问题的根本原因。
  • 典型用途:使用 TraceRpt.exe 分析与操作系统内核、驱动程序或应用程序相关的事件,从而定位崩溃或错误的来源。

3. 事件跟踪数据报告

  • 应用场景:在复杂的系统管理和监控环境中,管理员需要定期生成系统和应用的性能报告。TraceRpt.exe 可以从事件跟踪日志(ETL)中提取数据,并生成 XML、CSV、HTML 等格式的报告,便于分析和存档。
  • 典型用途:定期运行系统监控并生成报告,了解服务器的运行状况,并采取必要的优化措施。

4. 实时监控和分析

  • 应用场景:某些场景下,管理员可能需要实时监控某个特定会话的数据流,TraceRpt.exe 允许通过实时会话数据源来分析和报告系统活动。
  • 典型用途:通过 TraceRpt.exe 监控和分析特定的会话(如 NT Kernel Logger 会话),帮助实时了解系统的活动状态。

5. 日志合并与多源数据分析

  • 应用场景:在大规模分布式环境中,可能会有多个服务器生成不同的事件跟踪日志,系统管理员需要将多个日志文件合并和分析。TraceRpt.exe 支持同时处理多个日志文件,并能生成综合报告。
  • 典型用途:管理员可以将来自不同机器的日志汇总,并生成一个统一的报告,分析整个系统的健康状况和性能趋势。

6. 导出和转换事件数据

  • 应用场景:有时需要将 ETL 文件转换为其他格式(如 CSV 或 XML),以便进一步分析或导入到其他工具中。TraceRpt.exe 可以导出这些文件,并支持多种输出格式。
  • 典型用途:将事件日志转换为 CSV 格式进行导入至数据库,或者生成 XML 格式以便后续分析。

7. 安全和合规性分析

  • 应用场景:对于企业和组织,确保系统安全和符合合规性要求至关重要。通过分析系统和应用的事件跟踪日志,TraceRpt.exe 可帮助管理员检测潜在的安全问题或违反合规性规定的活动。
  • 典型用途:检查系统是否有异常登录、权限更改、资源访问等可疑活动,从而提前发现潜在的安全风险。

 

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 系统的性能数据。您可以通过命令行工具(如 typeperflogmanrelog)来实时监控、配置日志、转换日志格式等。而图形化工具 perfmon 则适用于日常的性能监控和报告生成。在处理日志和事件数据时,relogtracerpt 是非常有用的工具。

通过这些命令和工具的结合使用,您可以全面了解系统的运行状况,进行问题诊断、性能优化和报告生成。


一些常见的 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 UseAvailable MBytes,并确认 Pages/sec 和 Page Reads/sec 是否过高。

  • 怀疑系统不稳定或驱动泄漏? 重点监控 Pool Nonpaged Bytes 和 Pool Paged Bytes 的增长趋势。

  • 理解内存构成: Available MBytes 约等于 Standby Cache + Free Memory。即使 Free Memory 很低,只要有充足的 Standby Cache,系统仍能快速响应。

所有阈值均应结合系统具体负载和基线性能进行设定。


 

Network Interface
Network Interface performance object 包括多个计数器,用于衡量通过某个网络连接发送和接收字节和数据包的速率。它还包括可对连接错误进行监测的计数器。
Bytes Received/sec
Bytes Sent/sec
Bytes Total/sec
Current Bandwidth
Offloaded Connections
Output Queue Length
Packets Outbound Discarded
Packets Outbound Errors
Packets Received Discarded
Packets Received Errors
PacketsReceived 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 RSCAverage Packet Size
TCP RSC Coalesced Packets/sec
TCP RSC Exceptions/sec

Per Processor Network Activity Cycles
Per Processor Network Activity Cycles 计数器集根据每个处理器上接口的网络活动来测量处理器循环。
Build Scatter Gather Cycles/sec
Interrupt Cycles/sec
Interrupt DPCCycles/sec
Interrupt DPC Latency Cycles/sec
Miniport Return Packet Cycles/sec
Miniport RSS Indirection Table Change Cycles
Miniport Send Cycles/sec
NDIS Receive Indication Cycles/sec
NDiS Return Packet Cycles/sec
NDIS Send Complete Cycles/sec
NDIS Send Cycles/sec
Stack Receive Indication Cycles/sec
Stack Send Complete Cycles/sec

Per Processor Network Interface Card Activity
Per Processor Network Interface Card Activity 计数器集度量每个处理器的网络接口卡的网络活动。
Build Scatter Gather List Calls/sec
DPCs Deferred/sec
DPCsQueued onOther CPUs/sec
DPCs Queued/sec
Interrupts/sec
Low Resource Receive Indications/sec
LowResourceReceivedPackets/sec
Packets Coalesced/sec
Receive Indications/sec
Received Packets/sec
Return Packet Calls/sec
Returned Packets/sec
RSS Indirection Table Change Callssec
Send Complete Calls/sec
Send Request Calls/sec
Sent CompletePackets/sec
Sent Packets/sec
Tcp Offload Receive bytes/sec
Tcp Offload Receive Indications/sec
Tcp Offload Send bytes/sec
Tcp Offload Send Request Calls/sec

Physical Network Interface Card Activity
Physical Network Interface Card Activity 计数器集测量物理网卡上的事件。
% Time Suspended (nstantaneous)
% Time Suspended (Lifetime)
Device Power State
Low Power Transitions (Lifetime)

 

分类一:网络接口常规计数器

此类别计数器用于监控网络接口的整体流量、带宽利用、数据包错误及队列状态,是诊断网络性能和负载的基础。

 
 
计数器 描述 阈值建议 诊断信息
Bytes Received/sec 每秒接收的字节数 根据链路带宽设定 持续接近带宽上限表示接收流量饱和,可能成为瓶颈。
Bytes Sent/sec 每秒发送的字节数 根据链路带宽设定 持续接近带宽上限表示发送流量饱和,可能成为瓶颈。
Bytes Total/sec 每秒发送和接收的总字节数 根据链路带宽设定 监控网络接口的总利用率。
Current Bandwidth 网络接口的当前估计带宽 固定值 用于计算当前流量占理论带宽的百分比。
Output Queue Length 输出数据包队列长度 应接近零 持续队列表示网络接口或系统无法及时处理发送请求,可能是网络或CPU瓶颈。
Packets Received/sec 每秒接收的数据包数 需结合包大小和CPU使用率看 包速率过高可能导致CPU忙于处理中断而成为瓶颈。
Packets Sent/sec 每秒发送的数据包数 需结合包大小和CPU使用率看 包速率过高可能导致CPU忙于处理发送流程而成为瓶颈。
Packets/sec 每秒发送和接收的总数据包数 需结合包大小和CPU使用率看 监控网络接口的总包处理负载。
Packets Received Unicast/sec 每秒接收的单播数据包数 - 反映主要的点对点通信流量。
Packets Sent Unicast/sec 每秒发送的单播数据包数 - 反映主要的点对点通信流量。
PacketsReceived Non-Unicast/sec 每秒接收的非单播(组播/广播)数据包数 应保持较低水平 过高可能表示网络中存在过多的广播/组播流量,消耗资源和带宽。
Packets Sent Non-Unicast/sec 每秒发送的非单播(组播/广播)数据包数 应保持较低水平 过高可能表示本机正在产生大量广播/组播流量。
Packets Received Unknown 接收到的未知协议数据包 应为零 非零值可能表示协议驱动程序未运行或网络栈存在问题。
Packets Outbound Discarded 出站(发送)丢弃的数据包数 应保持较低水平 丢弃通常由于资源不足(如内存)或拥塞引起,可能影响网络性能。
Packets Outbound Errors 出站(发送)错误的数据包数 应为零 非零值通常指示物理连接问题、驱动程序或硬件故障。
Packets Received Discarded 入站(接收)丢弃的数据包数 应保持较低水平 丢弃通常由于缓冲区不足或系统资源繁忙,可能导致丢包。
Packets Received Errors 入站(接收)错误的数据包数 应为零 非零值通常指示物理连接问题、驱动程序或硬件故障。
Offloaded Connections 卸载的连接数 - 显示任务卸载功能的使用情况,高值表明卸载功能有效减轻了CPU负载。

分类二:处理器网络活动周期

此类别计数器深入到处理器级别,衡量CPU在网络相关任务(如中断、DPC、数据包处理)上花费的周期,用于诊断因网络处理导致的CPU高负载问题。

 
 
计数器 描述 阈值建议 诊断信息
Per Processor Network Activity Cycles 每个处理器的网络活动周期 根据处理器负载和网络使用情况调整 如果网络活动周期过多,表示处理器在网络处理中占用了过多时间,可能影响其他进程的性能。
Build Scatter Gather Cycles/sec 每秒构建分散收集的周期 应保持在合理范围内 如果该值过高,可能表示网络请求处理中的分散收集操作过于频繁,需优化网络数据传输策略。
Interrupt Cycles/sec 每秒中断周期 应低于总处理器时间的一定比例 中断周期过多可能表示频繁的硬件或软件中断,可能影响系统的响应时间,需优化中断处理程序。
Interrupt DPC Cycles/sec 每秒延迟过程调用(DPC)中断周期 应低于系统负载的阈值 DPC周期过多可能表示系统正在处理过多的中断请求,可能导致性能瓶颈,需检查中断服务例程。
Interrupt DPC Latency Cycles/sec 每秒延迟过程调用中断延迟周期 应保持在低延迟范围内 延迟过程调用的延迟周期过高表示中断响应过慢,可能影响系统的实时性能,需优化延迟处理。
Miniport Return Packet Cycles/sec 每秒迷你端口返回数据包周期 应保持在合理范围内 迷你端口的返回数据包周期过多可能影响网络数据包的处理速度,需优化数据包返回过程。
Miniport RSS Indirection Table Change Cycles 每秒迷你端口RSS间接表更改周期 应控制在合理范围内 如果该周期过高,可能表示RSS(接收端分流)表变更频繁,需检查流量分配和负载均衡策略。
Miniport Send Cycles/sec 每秒迷你端口发送周期 应根据网络负载调整 发送周期过高可能表示网络发送操作频繁,可能影响数据传输速率,需优化发送策略。
NDIS Receive Indication Cycles/sec 每秒NDIS接收指示周期 应根据网络流量调整 如果接收指示周期过多,表示网络接收操作处理过于频繁,可能导致系统负载过重,需优化网络接收处理。
NDiS Return Packet Cycles/sec 每秒NDIS返回数据包周期 应保持在合理范围内 过高的返回数据包周期可能影响数据包的回传速度,检查网络接口的传输效率。
NDIS Send Complete Cycles/sec 每秒NDIS发送完成周期 应控制在合理范围内 发送完成周期过高可能表示发送完成操作过于频繁,需检查数据发送和确认过程的优化。
NDIS Send Cycles/sec 每秒NDIS发送周期 应根据网络负载调整 如果NDIS发送周期过多,可能导致网络发送操作过于繁重,影响其他进程的运行。
Stack Receive Indication Cycles/sec 每秒堆栈接收指示周期 应根据网络负载调整 接收指示周期过多可能表示系统正在处理大量的接收操作,需检查网络接收策略的优化。
Stack Send Complete Cycles/sec 每秒堆栈发送完成周期 应控制在合理范围内 如果发送完成周期过多,可能表示堆栈发送操作过于频繁,影响系统响应速度,需检查发送流程。

分类三:处理器网络接口卡活动

此类别计数器以操作(如调用、排队的数据包数量)为单位,监控网络驱动程序和NDIS层的处理效率和健康状况。

 
 
计数器 描述 阈值建议 诊断信息
Build Scatter Gather List Calls/sec 每秒构建分散收集列表的调用次数 - 调用频率高表明系统正在处理大量需要分散/聚集I/O的网络数据。
DPCs Queued/sec 每秒排队的DPC数量 - DPC排队速率反映了中断服务的负载。
DPCs Queued onOther CPUs/sec 每秒排队到其他CPU的DPC数量 - 高值表明中断正在被有效地分配到多个处理器,是RSS等功能生效的表现。
DPCs Deferred/sec 每秒被延迟的DPC数量 应保持较低 高值表示DPC例程试图在过高IRQL上运行,可能导致延迟处理瓶颈。
Interrupts/sec 每秒发生的中断次数 - 直接反映了网卡请求CPU服务的频率。高包流量通常伴随高中断率。
Low Resource Receive Indications/sec 每秒因资源不足而触发的接收指示 应为零或很低 非零值表示网络子系统内存不足,正在丢包或进入低资源状态。
LowResourceReceivedPackets/sec 每秒在资源不足状态下接收的数据包 应为零或很低 非零值确认了由于资源压力导致的数据包接收问题。
Receive Indications/sec 每秒向网络协议栈指示的接收事件数 - 反映了协议栈的接收负载。
Received Packets/sec 每秒由驱动接收的数据包数 - 从驱动层面衡量的接收包量。
Return Packet Calls/sec 每秒返回数据包的调用次数 - 反映了数据包完成处理后的返回频率。
Returned Packets/sec 每秒返回的数据包数 - 反映了数据包完成处理后的返回量。
RSS Indirection Table Change Callssec 每秒RSS间接表更改的调用次数 - 高频率更改可能影响RSS的稳定性和效率。
Send Complete Calls/sec 每秒发送完成调用次数 - 反映了发送完成流程的负载。
Send Request Calls/sec 每秒发送请求调用次数 - 反映了上层协议发起的发送请求频率。
Sent Packets/sec 每秒由驱动发送的数据包数 - 从驱动层面衡量的发送包量。
Sent CompletePackets/sec 每秒完成发送的数据包数 - 反映了成功发送的完成量。
Packets Coalesced/sec 每秒被合并的数据包数(通常与RSC相关) - 高合并率表明接收端合并有效,减少了每数据包的处理开销。
Tcp Offload Send Request Calls/sec 每秒TCP卸载发送请求调用次数 - 反映了TCP卸载连接上的发送活动。
Tcp Offload Send bytes/sec 每秒通过TCP卸载功能发送的字节数 - 监控卸载功能实际处理的发送流量。
Tcp Offload Receive Indications/sec 每秒TCP卸载接收指示次数 - 反映了TCP卸载连接上的接收活动。
Tcp Offload Receive bytes/sec 每秒通过TCP卸载功能接收的字节数 - 监控卸载功能实际处理的接收流量。

分类四:物理网络接口卡活动

此类别计数器关注网卡硬件的电源管理状态,对于诊断节能功能与网络性能之间的权衡非常重要。

 
 
计数器 描述 阈值建议 诊断信息
% Time Suspended (nstantaneous) 瞬时网卡处于挂起(低功耗)状态的时间百分比 在需要高性能时应低 高百分比表示网卡经常进入节能状态,从休眠状态唤醒可能引入延迟。
% Time Suspended (Lifetime) 网卡生命周期内处于挂起状态的总时间百分比 - 反映网卡的历史电源管理策略。
Device Power State 设备的当前电源状态 - 显示网卡处于工作状态(D0)还是某种休眠状态(D1-D3)。
Low Power Transitions (Lifetime) 网卡生命周期内发生的高低功率状态切换次数 - 频繁切换可能影响性能并增加功耗。
 
 

深入了解并熟练掌握 perfmon(Windows性能监视器)中的 计数器,你可以从以下问题入手,帮助你系统地学习和掌握这项工具:

  1. 什么是 Windows 性能监视器 (Perfmon)?
  2. 如何打开和配置 Perfmon 工具?
  3. Perfmon 中的“计数器”是什么意思?
  4. Perfmon 中的计数器有哪些常见类型?
  5. 如何选择适合我需求的性能计数器?
  6. Perfmon 中如何查看实时性能数据?
  7. 如何使用 Perfmon 监视 CPU 使用率?
  8. Perfmon 中的内存计数器有哪些?
  9. 如何通过 Perfmon 跟踪磁盘 I/O 活动?
  10. Perfmon 中如何监控网络活动?
  11. 如何监控系统资源的瓶颈?
  12. Perfmon 中如何查看每个进程的资源使用情况?
  13. Perfmon 中的“对象”和“计数器”之间有什么区别?
  14. Perfmon 中“实例”是什么?如何使用它?
  15. 如何在 Perfmon 中设置警报以监控异常情况?
  16. Perfmon 中如何设置和保存监视配置?
  17. 如何使用 Perfmon 创建并分析性能日志?
  18. Perfmon 如何与其他 Windows 性能分析工具(如 Task Manager)结合使用?
  19. 如何设置 Perfmon 以便长期收集性能数据?
  20. Perfmon 中的“% Processor Time”计数器有什么作用?
  21. 如何分析磁盘延迟和 I/O 队列长度?
  22. Perfmon 中如何跟踪 SQL Server 性能?
  23. 如何使用 Perfmon 分析内存泄漏?
  24. 如何根据 Perfmon 数据优化应用程序性能?
  25. Perfmon 中如何设置数据采集和存储周期?
  26. 如何通过 Perfmon 来评估系统的负载均衡?
  27. Perfmon 如何帮助我定位和诊断应用程序性能问题?
  28. Perfmon 中的“网络接口”计数器如何工作?
  29. 如何导出 Perfmon 数据并进行进一步分析?
  30. Perfmon 中如何分析多核心处理器的性能问题?

这些问题帮助你全面掌握 Perfmon 性能监视器,从基础概念到高级应用,逐步深入理解如何使用 Perfmon 进行系统性能监控、数据收集与分析。 

深入学习和熟练掌握 Perfmon(Windows性能监视器)及其 计数器,你可以从以下问题开始,逐步深入了解每个细节:

  1. 什么是 Windows 性能监视器(Perfmon)?
  2. Perfmon 和任务管理器有什么不同?
  3. 如何启动 Perfmon 工具?
  4. Perfmon 中的“计数器”是什么,如何使用?
  5. Perfmon 支持哪些主要的性能计数器类型?
  6. 如何选择和添加合适的计数器到 Perfmon 中?
  7. Perfmon 中的计数器“Processor Time”表示什么?
  8. 如何使用 Perfmon 来监控 CPU 的性能?
  9. 如何在 Perfmon 中查看系统内存的使用情况?
  10. Perfmon 中的 “Memory Pages/sec”计数器有什么用?
  11. 如何分析磁盘性能,哪些 Perfmon 计数器能帮助我?
  12. Perfmon 中的“Disk Queue Length”计数器如何工作?
  13. Perfmon 中的“Network Interface”计数器是如何监控网络流量的?
  14. 如何使用 Perfmon 监控每个进程的 CPU 和内存使用情况?
  15. Perfmon 中的“Process”对象如何帮助监控特定进程?
  16. 如何在 Perfmon 中设置数据日志记录以便长期监控?
  17. Perfmon 中如何查看系统的实时性能数据?
  18. Perfmon 支持哪些图表和可视化工具?
  19. 如何通过 Perfmon 设置警报来监控资源使用过高?
  20. Perfmon 中如何分析和定位性能瓶颈?
  21. 如何导出 Perfmon 收集的数据进行进一步分析?
  22. Perfmon 中的“% Processor Time”计数器和 “% User Time”有何区别?
  23. 如何通过 Perfmon 诊断内存泄漏问题?
  24. 如何使用 Perfmon 监控硬盘驱动器的 I/O 活动?
  25. 如何使用 Perfmon 对比不同时间段的性能变化?
  26. Perfmon 如何与 Performance Logs 和 Alerts 配合使用?
  27. 如何在 Perfmon 中设置和保存性能数据收集计划?
  28. Perfmon 是否支持远程监控?如果支持,如何配置?
  29. Perfmon 如何监控和分析虚拟化环境中的性能?
  30. Perfmon 中的 “System” 对象包含哪些重要计数器,如何使用?

通过这些问题,你可以从基础到深入地了解如何使用 Perfmon 进行性能监控,如何选择和分析不同的计数器,以及如何利用这些数据来优化系统和应用程序的性能。


 

posted @ 2023-10-14 15:23  suv789  阅读(1387)  评论(0)    收藏  举报