gpt4 book ai didi

performance - 系统范围的分析器(例如 perf)如何将计数器与指令相关联?

转载 作者:行者123 更新时间:2023-12-03 15:57:07 26 4
gpt4 key购买 nike

我试图了解系统范围的分析器是如何工作的。让我们拿 linux 性能 例如。对于一定的分析时间,它可以提供:

  • 各种聚合硬件性能计数器
  • 每个用户空间进程和内核空间函数所花费的时间和硬件计数器(例如#instructions)
  • 关于上下文切换的信息

  • 我几乎可以肯定的第一件事是,该报告只是对实际情况的估计。所以我认为有一些内核模块 以一定的采样率启动软件中断 .采样率越低,分析器开销越低。中断可以读取存储性能计数器的模型特定寄存器。

    下一部分是将计数器与机器上运行的软件相关联。这是我不明白的部分。
  • 那么分析器从哪里获取数据呢?
  • 例如,您能否询问任务调度程序以找出您打断他时正在运行的内容? 会不会影响
    调度程序的执行(例如,而不是继续
    中断的功能,它只会安排另一个,使
    探查器结果不准确)。是的列表吗?任务结构 可用的对象?
  • 分析器如何关联硬件
    甚至在指令级别的指标?
  • 最佳答案

    这几乎可以回答您的所有三个问题。

    分析包括两种类型:计数和采样。计数测量
    总体
    数字
    整个执行过程中的事件,而不提供任何见解
    关于

    指令或功能
    生成
    他们
    .在
    另一方面,
    抽样给出了相关性
    代码中的事件
    通过捕获的指令指针样本
    .
    采样时,
    内核指示处理器在何时发出中断
    一个被选中的
    事件计数器超过
    临界点。吨
    他的中断被内核和采样数据捕获
    包括指令
    指针
    值被存储到一个环形缓冲区中。缓冲区由用户空间定期轮询
    perf 工具及其内容
    写入磁盘。
    在后处理中,指令指针匹配到
    二进制文件中的地址,可以翻译成函数名等

    引用 http://openlab.web.cern.ch/sites/openlab.web.cern.ch/files/technical_documents/TheOverheadOfProfilingUsingPMUhardwareCounters.pdf

    关于performance - 系统范围的分析器(例如 perf)如何将计数器与指令相关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28661430/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com