面向 AI 编程助手的 .NET 10-11 性能调优技巧合集,主要针对基准测试场景。
microsoft/perfview
免费的 Windows 性能分析工具,用于定位 CPU 和内存相关的性能问题,并对 .NET 运行时代码提供专门支持。
- Star
- 4,779
- Fork
- 781
- 未关闭 Issue
- 90
- 最近提交
- 昨天
这是什么?
PerfView 是一款免费的性能分析工具,用于定位 CPU 和内存相关的性能问题。它运行在 Windows 上,也能分析在 Linux 机器上采集的部分数据。工具适用于多种场景,并针对 .NET 运行时中的代码提供了专门的分析功能。
PerfView 基于 Microsoft.Diagnostics.Tracing.TraceEvent 库构建,该库负责采集和解析 Windows 事件跟踪(ETW)以及 EventPipe(.NET Core 跟踪)数据。如果需要以编程方式处理这些数据,可以直接使用 TraceEvent。
项目使用 C# 编写。编译需要安装带有 .NET 桌面开发和 C++ 工作负载的 Visual Studio 2026,生成的 PerfView.exe 为单文件,复制即可部署使用。
核心功能
- 01在 Windows 上采集并分析 CPU 与内存性能数据。
- 02针对 .NET 运行时代码提供专门的分析功能。
- 03内置扩展机制并附带示例扩展。
- 04提供 TraceEvent 库,可以编程方式访问 ETW 和 EventPipe 数据。
- 05以单个可执行文件发布,复制即可部署。
适用场景
- 排查 Windows 上 .NET 应用的 CPU 占用过高或代码运行缓慢问题。
- 调查 .NET 服务中的内存增长和垃圾回收行为。
- 分析在 Linux 机器上采集的性能跟踪数据。
- 借助 TraceEvent 开发解析 ETW 或 EventPipe 跟踪数据的自定义工具。
快速上手
- 1
从下载页面下载 PerfView(README 未提供包管理器安装方式)
- 2
从源码构建:在 Visual Studio 2026 中打开 PerfView.sln 并生成,或在仓库根目录运行 build.cmd
build.cmd
使用前须知
- 这是 Windows 工具,对 Linux 上收集的数据仅有有限的分析支持。
- 需要 Windows 10 或 Windows Server 2016 及更高版本,以及 .NET Framework 4.7.2 或更高版本。
- 没有原生 ARM64 版本的 PerfView。
- 从源码构建需要安装 Visual Studio 2026 及特定的 C++ 和 Windows SDK 组件。
标签
常见问题
- perfview 是什么?
- 免费的 Windows 性能分析工具,用于定位 CPU 和内存相关的性能问题,并对 .NET 运行时代码提供专门支持。 PerfView 是一款免费的性能分析工具,用于定位 CPU 和内存相关的性能问题。它运行在 Windows 上,也能分析在 Linux 机器上采集的部分数据。工具适用于多种场景,并针对 .NET 运行时中的代码提供了专门的分析功能。
- perfview 可以免费使用吗?用的什么许可证?
- perfview 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- perfview 还在维护吗?
- 活跃维护中。perfview 最近一次提交是在 2026年11月6日。
- perfview 适合用来做什么?
- 排查 Windows 上 .NET 应用的 CPU 占用过高或代码运行缓慢问题。 调查 .NET 服务中的内存增长和垃圾回收行为。 分析在 Linux 机器上采集的性能跟踪数据。 借助 TraceEvent 开发解析 ETW 或 EventPipe 跟踪数据的自定义工具。
- perfview 怎么安装和运行?
- 从下载页面下载 PerfView(README 未提供包管理器安装方式) 从源码构建:在 Visual Studio 2026 中打开 PerfView.sln 并生成,或在仓库根目录运行 build.cmd: build.cmd
- 在哪里获取 perfview?
- 源代码和安装说明在 GitHub 上:https://github.com/microsoft/perfview
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
305+16 本周11C#MIT更新于 6天前
用于可视化和分析 profile.proto 格式性能剖析数据的命令行与 Web 工具。
9323686GoApache-2.0维护活跃更新于 前天
面向 .NET 的基准测试库,可将 C# 方法转换为可复现的性能测试并自动生成统计报告。
1.2万+2 本周1080C#MIT维护活跃更新于 18小时前
基于 Rust 的火焰图生成工具,可对 Cargo 项目或任意可执行文件进行性能剖析,无需 Perl。
6053+1 本周194RustApache-2.0维护活跃更新于 5天前
一款 Python 程序采样性能分析器,无需修改代码或重启程序即可附加到运行中的进程。
1.6万+12 本周560RustMIT更新于 19小时前