pmu-tools性能分析工具
pmu tools是用于在Linux性能基础上的Intel CPU上进行概要文件收集和性能分析的工具集合。这将使用CPU中的性能计数器。
所有功能:
主要工具/库
- “perf”的“ ocperf”包装器为常见的Intel CPU提供了完整的核心性能计数器事件列表。这允许使用所有Intel事件,而不仅仅是perf的内置事件。也可以用作其他python程序的库
- “toplev.py”工具可识别工作负载的微体系结构瓶颈。这实现了TopDown或TopDown2 方法。
- 用于管理和计算非核心性能事件的“ ucevent”工具。Uncore是CPU的非核心部分。支持许多电源管理,IO,QPI(互连),缓存和其他指标。ucevent会自动为perf uncore驱动程序生成事件描述,并漂亮地打印输出。它还支持计算从多个事件派生的更高级别的度量。
- 从Linux 3.3开始,用于将已命名的英特尔事件(如INST_RETIRED.ANY)解析为perf_event_attr(jevents)jevents的库也支持使用Linux进行自我分析。自我分析是一个程序,它监视自己的执行情况,以控制基准测试或优化自身。对于较旧内核的自我分析,您可以使用 simple-pmu
- 在内核perf子系统本身不支持它们的较旧Linux系统上,支持Intel“ offcore”事件。脱核事件可以对核心以外的内存访问进行分类。
- Sandy Bridge EP(Intel Xeon E5 v1)上与脱机事件有关的某些问题的解决方法这是通过ocperf自动为相应事件启用的,也可以作为独立程序或python库使用。
- 多种用于绘制和后处理性能统计-I1000 -x或toplev.py -I1000 -x间隔测量的工具。
实验/辅助工具:
- 在Nehalem和更高版本的Intel CPU(addr)上进行地址分析的示例程序
- 一些实用程序在命令行上访问pci空间或msrs
- 直接从用户空间(pmumon.py)对PMU进行编程以进行计数的实用程序。这主要用于测试和实验目的。
- 一个用于打印当前正在运行的事件的程序(event-rmap)
- 支持使用perf分析原始PEBS记录。
- 用于性能数据分析的 pandas/scipy 数据模型(正在进行中)
评论