| name | vtune-advisor-cpu-profiling |
| description | Windows CPU profiling workflow using Intel VTune Profiler + Intel Advisor CLI |
| author | nv3ifu |
| tags | ["vtune","advisor","cpu","windows","profiling","performance"] |
VTune + Advisor Windows CPU 性能分析
本 Skill 提供面向 Windows 的完整 CPU 性能分析流程,覆盖:
- VTune Profiler CLI(采样、热点、线程、微架构、内存)
- Intel Advisor CLI(Survey/TripCounts/Dependencies/Vectorization)
- CSV 导出与自动诊断报告
🎯 推荐流程(全面且突出重点)
- Performance Snapshot:快速判断瓶颈方向
- Hotspots:定位 CPU 热点函数
- Threading / Wait-Time:定位线程等待与锁竞争
- Uarch Exploration / Memory Access:定位微架构与内存瓶颈(需要管理员权限)
- Advisor Survey → TripCounts → Dependencies:向量化与依赖链分析
示例:
vtune -collect performance-snapshot -result-dir vtune_reports\\snap -- .\\app.exe
vtune -collect hotspots -result-dir vtune_reports\\hs -- .\\app.exe
vtune -collect threading -result-dir vtune_reports\\tr -- .\\app.exe
vtune -collect uarch-exploration -result-dir vtune_reports\\ue -- .\\app.exe
advisor --collect=survey --project-dir=advisor_reports\\adv --search-dir src:=.\\src -- .\\app.exe
advisor --collect=tripcounts --project-dir=advisor_reports\\adv --search-dir src:=.\\src -- .\\app.exe
advisor --collect=dependencies --project-dir=advisor_reports\\adv --search-dir src:=.\\src -- .\\app.exe
🚀 快速开始(推荐)
VTune(热点 + 结构性瓶颈)
# Hotspots
vtune -collect hotspots -result-dir vtune_reports\hotspots -- .\app.exe
# 导出 Hotspots CSV
vtune -report hotspots -r vtune_reports\hotspots -format csv -report-output vtune_reports\hotspots.csv
Advisor(向量化与依赖分析)
# Survey
advisor --collect=survey --project-dir=advisor_reports\adv --search-dir src:=.\src -- .\app.exe
# Trip Counts
advisor --collect=tripcounts --project-dir=advisor_reports\adv --search-dir src:=.\src -- .\app.exe
# Dependencies
advisor --collect=dependencies --project-dir=advisor_reports\adv --search-dir src:=.\src -- .\app.exe
# 导出 Survey CSV
advisor --report=survey --project-dir=advisor_reports\adv --format=csv --report-output advisor_reports\survey.csv
📋 AI 分析流程
Phase 1: 数据获取(优先顺序)
情况 A:已有结果目录或 CSV
# VTune 结果导出
vtune -report summary -r vtune_reports\hs -format csv -report-output vtune_reports\summary.csv
# Advisor 结果导出
advisor --report=survey --project-dir=advisor_reports\adv --format=csv --report-output advisor_reports\survey.csv
情况 B:需要新分析
# VTune 采集
vtune -collect hotspots -result-dir vtune_reports\hs -- .\app.exe
# Advisor 采集
advisor --collect=survey --project-dir=advisor_reports\adv --search-dir src:=.\src -- .\app.exe
Phase 2: 数据持久化
推荐目录结构:
vtune_advisor_cpu_profiling_result/
├── vtune_result/
│ ├── <测试名称>/ # 如 performance-snapshot、hotspots 等
│ │ ├── <结果文件>
│ │ └── *.csv
│ └── <其他测试名称>/
├── advisor_result/
│ ├── <测试名称>/ # 如 survey、tripcounts 等
│ │ ├── project/
│ │ └── *.csv
│ └── <其他测试名称>/
└── analysis/
├── report.md
└── report.json
Phase 3: 自动诊断
使用本项目的 Python 解析器:
python tools\vtune_advisor_report.py --input-dir .\analysis_output --out-md .\analysis_output\analysis\report.md --out-json .\analysis_output\analysis\report.json
🧠 VTune CLI 速查(2025.4)
命令语法
vtune <-action> [-action-option] [-global-option] [[--] <target> [target-options]]
Actions
archive:归档结果
collect:执行分析并采集
collect-with:自定义采集(runsa/runss)
command:控制正在运行的采集(pause/resume/stop/status/mark)
finalize:符号解析/重新 finalize
help:帮助
import:导入 .tb6/.tb7 或 CSV
report:生成报告
version:版本信息
常用分析类型(collect)
CPU 重点(Windows 常用)
performance-snapshot - 快速性能快照,判断瓶颈方向
hotspots - 热点分析(最常用)
threading - 线程分析,定位线程等待与锁竞争
memory-consumption - 内存消耗分析
memory-access - 内存访问分析(需管理员权限)
uarch-exploration - 微架构探索(需管理员权限)
anomaly-detection - 异常检测
hpc-performance - 高性能计算分析
io - I/O 分析
system-overview - 系统级概览
专项/平台相关
tsx-exploration / tsx-hotspots / sgx-hotspots - TSX/SGX 专项
gpu-hotspots / gpu-offload / npu / xpu-offload - GPU/NPU/XPU
fpga-interaction - FPGA 交互分析
graphics-rendering (preview) - 图形渲染分析
collect 常用 action-options(摘自 2025.4 CLI)
[no]-allow-multiple-runs, [no]-analyze-system, data-limit, discard-raw-data,
duration, finalization-mode, [no]-follow-child, knob, mrte-mode, quiet,
resume-after, return-app-exitcode, ring-buffer, search-dir, start-paused,
strategy, [no-]summary, target-duration-type, target-pid, target-process,
target-system, trace-mpi, user-data-dir, verbose
collect-with 常用 action-options(摘自 2025.4 CLI)
[no-]allow-multiple-runs, analyze-kvm-guest, [no-]analyze-system, app-working-dir,
call-stack-mode, cpu-mask, data-limit, discard-raw-data, duration, finalization-mode,
[no-]follow-child, inline-mode, knob, mrte-mode, quiet, result-dir, resume-after,
return-app-exitcode, ring-buffer, search-dir, start-paused, strategy, [no-]summary,
target-duration-type, target-pid, target-process, no-unplugged-mode, user-data-dir,
verbose
report 常用 action-options(摘自 2025.4 CLI)
call-stack-mode, csv-delimiter, cumulative-threshold-percent, discard-raw-data,
filter, format, group-by, inline-mode, limit, quiet, report-output, result-dir,
search-dir, source-search-dir, source-object, verbose, time-filter, loop-mode, column
finalize 常用 action-options
call-stack-mode, discard-raw-data, inline-mode, quiet, result-dir, search-dir, verbose
import 常用 action-options
call-stack-mode, discard-raw-data, inline-mode, result-dir, search-dir, user-data-dir
command 动作
-command=mark|pause|resume|status|stop
关键概念
-result-dir/-r:结果目录
-search-dir/-source-search-dir:符号/源文件搜索路径
-finalization-mode=full|fast|deferred|none
-no-auto-finalize(如支持)或 -finalization-mode=none:跳过自动 finalize
-start-paused + -resume-after=<sec>:延迟采集
-duration / -data-limit / -ring-buffer:控制采集范围
-knob <name=value>:分析类型的细粒度配置
- 查看可用 knobs:
vtune -help collect <analysis> 或 vtune -help collect-with <collector>
🧩 Advisor CLI 速查
命令语法
advisor <--action> [--action-options] [--global-options] [[--] target [target options]]
常用动作
采集分析类型
survey - 调查分析,识别最耗时的循环
tripcounts - 循环迭代次数分析
dependencies - 依赖关系分析
suitability - 适用性分析
roofline - 屋顶线分析(计算强度评估)
vectorization - 向量化分析
报告生成
常用选项
--project-dir=<dir>
--search-dir src:=<path>
--user-data-dir=<dir>
--format=csv|text
--report-output=<file>
📊 输出模板(Markdown)
# CPU 性能分析报告
## 报告信息
- 采集时间: {timestamp}
- VTune 结果: {vtune_results}
- Advisor 结果: {advisor_results}
## 执行摘要
- 主要瓶颈: {summary}
- 关键热点函数: {top_hotspots}
- 线程瓶颈: {threading_notes}
- 内存瓶颈: {memory_notes}
- 向量化问题: {vectorization_notes}
## VTune 关键指标
- Hotspots Top N
- Threading/Wait Top N
- Memory/Top-Down
## Advisor 关键指标
- Survey
- TripCounts
- Dependencies
## 优化建议
- 高优先级
- 中优先级
- 低优先级
✅ 诊断要点(保守阈值)
- 单个函数 CPU 时间占比过高 → 优先优化热点函数
- 等待/同步时间占比明显 → 并行度/锁竞争排查
- Memory/DRAM/L3 相关指标偏高 → 数据布局/缓存优化
- Vectorization Efficiency 偏低 → 向量化与数据对齐
📊 GUI 查看结果
分析完成后,可使用 GUI 工具进行可视化查看:
VTune GUI
vtune-gui "D:\path\to\vtune_advisor_cpu_profiling_result\vtune_result\hotspots"
Advisor GUI
advisor-gui "D:\path\to\vtune_advisor_cpu_profiling_result\advisor_result\project"
本 Skill 以 2025.4 VTune CLI 与最新 Advisor CLI 为准,优先使用 vtune -help <action> 与 advisor --help 获取最新可用选项。