perf

    1热度

    1回答

    假设我有一个可根据命令行选项生成不同基准的线束二进制文件。我非常喜欢抽样这些基准。 我有3种选择: 变化线束二进制产卵其运行基准的“PERF记录”子进程并执行采样 只是做“PERF纪录$ harness-二进制“,希望它也会对孩子进程进行抽样。 “perf record -a $ harness-binary”它将执行“所有CPU的系统范围收集”。这需要root权限,因此在我的情况下不可行。 如果

    0热度

    1回答

    我正在尝试使用perf来衡量L3_Miss(LLC Miss)与PEBS。 下面是命令:perf record -d -e cpu/event=0xd1,umask=0x20/ppu -c 1 test,当perf完成时,我用perf script -F ip,sym,addr检查结果。 根据SDM from intel,Vol。 3B表18-55。 PEBS记录包含一个名为“数据线性地址”的字段

    1热度

    1回答

    我试图在主机上使用Intel-PT,而我在客户机中运行一般软件程序。所以我期望在主机上运行的Intel-PT将记录所有相关的数据包(如PIP,FUP,TSC等)以及所有基于VM的数据包,如VMCS。 我用下面的命令 - ./perf kvm --host --guest --guestkallsyms=guest-kallsyms --guestmodules=guest-modules reco

    1热度

    1回答

    我的程序运行时的显著部分正在致力于为std :: __细节:: _ Map_base,我不知道那是什么引用。 我周围中搜索互联网上的位,这似乎是某种形式的结构,但我不明白它是如何占用的时间,更何况它的近五分之一。我应该寻找什么来缩短这个时间?

    0热度

    2回答

    我正在做一个实验,将循环索引写入CPU寄存器R11,然后用gcc -ffixed-r11编译它,试图让编译器知道不要使用该reg,最后使用perf来衡量它。 但是,当我检查报告(使用perf script),大多数记录条目的R11值不是我所期望的,它应该是数字序列,如1..2..3或1..4 .. 7等,但实际上它只是一些固定值。 (可能受系统调用覆盖影响?) 我如何让perf记录我设置到我的程序

    3热度

    2回答

    我试图监视一个进程的执行情况,并在linux上使用perf_event来取样其已退役指令的数量。 我想随着时间的推移以固定的,恒定的采样周期对采样过程进行采样。 一切似乎运作良好,我已经成功地编写的代码,它调用perf_event_open()并设置了两个不同的计数器: 的领导者之一,属于PERF_TYPE_HARDWARE类型,确定为PERF_COUNT_HW_CPU_CYCLES,其中工程作为

    0热度

    1回答

    我正在使用perf工具来标记我的项目之一。我面临的问题是,我得到automatihen我在我的机器上运行perf工具,一切工作正常。 但是,我试图在自动化服务器上​​运行perf以使其成为我的检查过程的一部分,但我从自动化服务器收到以下错误 警告:内核地址映射(/ proc/{kallsyms,modules})受限制, check/proc/sys/kernel/kptr_restrict。 如

    0热度

    1回答

    当我读取perf_event_open()的manual之后,我有一些关于捕获采样事件中缓冲区大小的问题。 在描述中部分,它说, 的取样事件周期性地写入测量然后可以经由MMAP(2)访问的 缓冲器。 当缓冲区溢出时,PMU会触发PMI,我们可以通过mmap()系统调用来访问缓冲区的内容。 (我的理解是否正确?) 但问题是,Perf缓冲区有多大?我可以设置一个新的值(缓冲区长度)来覆盖它吗? 变量_

    0热度

    1回答

    我目前正在学习使用perf。我为硬件事件输出,但不是用于cpu-cycles或cpu-clock等软件事件。 我调用PERF与verbose选项: $ > perf record -v ./pi-serial-ps mmap size 528384B Reference Pi: 3.1415926536 Simulated Pi: 3.1415209778 [ perf record: W

    0热度

    1回答

    好吧,所以这真的让我感到困扰。 我使用PERF记录CPU时钟事件(软件事件): $ > perf record -e cpu-clock srun -n 1 ./stream ...和PERF报告产生的表是空的。 我使用PERF记录在PERF的列表中列出所有可用的软件事件: $ > perf record -e alignment-faults,context-switches,cpu-clo