perf相关内容

性能报告显示“__libm_pow_l9"

我正在使用 perf 来分析我的程序,这涉及大量使用 exp() 和 pow().代码编译使用 icc -g -fno-omit-frame-pointer test.c 并通过以下方式进行分析: perf record -g ./a.out 后面跟着: perf report -g 'graph,0.5,caller' 和 perf 给出: __libm_exp_l9() 和 ..
发布时间:2021-07-07 19:56:14 其他开发

为什么 perf 显示 sleep 需要所有核心?

我正在尝试熟悉 perf 并针对我编写的各种程序运行它. 当我针对 100% 单线程的程序启动它时,perf 显示它在机器上需要两个内核(任务时钟事件).这是示例输出: perf stat -a --per-core python3 test.py“系统范围"的性能计数器统计信息:S0-C0 1 19004.951263 任务时钟(毫秒)# 1.000 个 CPU 使用率(100.00%) ..
发布时间:2021-06-21 20:20:44 服务器开发

perf.data 文件没有样本

我在 ubuntu 11.10 上使用 perf 3.0.4.它的记录命令运行良好并显示在终端上收集到的 256 个样本.但是当我使用 perf report 时,它给了我以下错误: perf.data 文件没有样本 我搜索了很多解决方案,但还没有成功. 解决方案 这个帖子有一些有用的信息:http://www.spinics.net/lists/linux-perf-users/ms ..
发布时间:2021-06-21 20:17:38 其他开发

为什么cmp指令花费太多时间?

我正在尝试使用 libunwind(使用 linux perf)进行配置文件,perf top 监视目标进程,我得到了这个组装时间成本屏幕: 0.19 │ mov %rcx,0x18(%rsp) ▒│ trace_lookup(): ▒1.54 │ mov 0x8(%r9),%rcx ▒│ _ULx86_64_tdep_trace(): ▒0.52 │ 和 $0x1,%edx ◆0.57 │ ..
发布时间:2021-06-21 20:15:10 其他开发

循环计数本身在程序计时上是否可靠?

我目前正在尝试开发一种判断系统,该系统不仅可以衡量时间和内存使用情况,还可以衡量更深层次的信息,例如缓存未命中等,我认为硬件计数器(使用 perf)非常适合它. > 但是对于计时部分,我想知道纯粹使用循环计数来确定执行速度是否足够可靠?希望了解这个决定的利弊. 解决方案 所以您建议测量 CPU 周期,而不是秒?听起来有些道理. 对于一些很好的微基准测试,主要是考虑了由于 CPU ..
发布时间:2021-06-15 20:01:52 其他开发

Mac OS 的 Perf stat 等价物?

在 Mac OS 上是否有等效的性能统计数据?我想为 CLI 命令做同样的事情,谷歌搜索没有产生任何结果. 解决方案 Mac OS X 中有 Instruments 工具来分析应用程序,包括硬件 PMU.默认是对 CPU 使用情况进行采样分析器.一些文档:https://en.wikipedia.org/wiki/Instruments_(software) https://help.ap ..
发布时间:2021-06-15 20:00:54 其他开发

什么是“perf stat"?输出是什么意思?

我使用“perf stat"命令对一些事件进行统计: [root@root test]# perf stat -a -e "r81d0","r82d0" -v ./ar81d0:71800964 1269047979 1269006431r82d0:26655201 1284214869 1284214869'./a' 的性能计数器统计信息:71,800,964 r81d0 [100.00%]2 ..
发布时间:2021-06-15 19:33:13 其他开发

在“perf record"的输出上运行“perf stat"?

使用 perf(Linux 分析器), (v4.15.18), 我可以运行 perf stat $COMMAND 来获取一些简单的命令统计信息.如果我运行 perf record,它会将大量数据保存到 perf.data 文件中. 我可以在 perf record 的输出上运行 perf stat 吗?这样我就可以查看 perf 记录的数据,同时也可以得到一个简单的概览? 解决方案 ..
发布时间:2021-06-12 20:48:47 服务器开发

性能如何使用离线事件?

一些内置的 perf 事件被映射到非核心事件.例如, LLC-loads 和 LLC-load-misses 被映射到 OFFCORE_RESPONSE.事件.如此处所述,可以很容易地确定这一点.但是,这些脱机事件需要将某些值写入某些MSR寄存器以实际指定特定事件. perf 似乎正在使用一个名为此处对于SnB,其他体系结构均已关闭. 宏 INTEL_UEVENT_EXTRA_REG 是 hw_ ..
发布时间:2021-05-30 18:35:21 其他开发

可以“记录"或“性能记录"样本子进程?

假设我有一个线束二进制文件,可以根据命令行选项生成不同的基准.我对抽样这些基准非常感兴趣. 我有3种选择: 更改工具二进制文件以生成“性能记录"子进程,该子进程运行基准并进行采样 只需执行"perf record $ harness-binary",希望它也会对子进程进行采样. “性能记录-a $ harness-binary",它将执行“从所有CPU进行系统范围的收集". ..
发布时间:2021-05-30 18:34:41 其他开发

为什么 Linux 性能计数器中的指令数量不确定

为了能够描述其二进制文件实际上将在模拟器(NS-3/DCE)下运行的应用程序运行时.我想使用linux性能计数器,我希望没有确定性来源的应用程序的指令计数是确定性的.根据linux性能计数器,我再没错了,让我们举一个简单的例子: $(perf stat -c-sleep 1 2& 1&& perf stat -c-sleep 1 2>& 1)| grep指令669218个指令#每个周期0.61 ..
发布时间:2021-05-29 23:21:15 服务器开发

在VirtualBox guest虚拟机中运行perf

我的教授要我跑步: perf stat -e mem-loads,mem-stores ./test 为了让我找到C文件的内存加载和存储.我是在VirtualBox Linux guest虚拟机中执行此操作的,问题是 perf 表示这是无效或不受支持的事件,任何人都可以建议我在这里做错了什么吗? 无效或不受支持的事件:“内存加载"运行“性能列表"以获取有效事件的列表用法:perf sta ..
发布时间:2021-05-29 23:20:02 服务器开发

性能:软件事件之间的奇怪关系

好的,这真的让我很烦. 我正在使用perf记录cpu-clock事件(一个软件事件): $>性能记录-e cpu-clock srun -n 1 ./stream ...,并且性能报告生成的表为空. 我正在使用perf来记录perf列表中列出的所有可用软件事件: $>性能记录-e对齐错误,上下文开关,CPU时钟,CPU迁移,\虚拟,模拟故障,重大故障,次要故障,页面故障,任 ..
发布时间:2021-05-29 23:11:03 服务器开发

错误:perf.data文件没有样本

我目前正在学习使用perf.我有硬件事件的输出,但没有cpu-cycles或cpu-clock之类的软件事件的输出. 我使用详细选项调用了perf: $>性能记录-v ./pi-serial-psmmap尺寸528384B参考Pi:3.1415926536模拟Pi:3.1415209778[性能记录:唤醒15次以写入数据]查看 vmlinux_path(7 个条目长)对符号使用/proc ..
发布时间:2021-05-29 23:11:00 服务器开发

使用mmap和/proc/mtrr访问无法缓存的区域

我正在玩mmap和/proc/mtrr,目的是对物理内存分析做一些深入的分析.这是我正在尝试做的基本思想,以及到目前为止所做的总结.我使用的是Ubuntu内核版本3.5.0-54(通用). 我基本上是映射到特定的物理地址(使用/proc/iomem的提示),并测量对该物理地址范围的访问延迟.到目前为止,这是我所做的: 在/proc/mtrr中创建了一个条目,以使我无法映射的物理地址范围 ..
发布时间:2021-05-29 22:57:57 服务器开发

导致主要页面错误的日志存储器访问

有人知道如何获取导致页面错误的内存访问(指针)吗?我主要对主要页面错误感兴趣. 关于我要实现的目标的一些背景知识.我有一个具有大内存占用的应用程序(数据库),并且我想将分页与对大型数据结构(例如表,使用mmap()分配的索引)的访问相关联.该过程的映射很容易从/proc//maps中检索.现在,如果我具有导致页面错误的内存访问,则可以跟踪访问每个数据结构时引起了多少页面错误. 我认为p ..
发布时间:2021-05-29 22:53:43 服务器开发