gpt4 book ai didi

c - 在执行特定功能期间监视性能计数器

转载 作者:IT王子 更新时间:2023-10-29 00:39:58 26 4
gpt4 key购买 nike

对于某些上下文,我正在分析 Memcached 的执行情况,并且我想在执行特定函数期间监视 dTLB 未命中。假设 Memcached 生成多个线程,每个线程都可能并行执行该函数。我发现的一个特定解决方案 Perf 具有切换事件 ( Using perf probe to monitor performance stats during a particular function ),应该让我通过在函数进入和退出时设置探测器并分别在每个探测器上打开/关闭事件计数器来实现这一点。

我的问题是:

(a) 据我了解,perf 切换事件作为 Linux 内核 3.x 分支的一部分包含在内。这是否包含在最近的 Linux 内核 4.x LTS 版本中?如果没有,还有其他选择吗?

(b) 此处描述了我发现的另一种解决方法:performance monitoring for subset of process execution .但是我不太确定这是否能正确解决手头的问题。我很担心,因为 Memcached 是多线程的,让每个线程生成一个新的子进程可能会导致过多的开销。

有什么建议吗?

最佳答案

我只能在 /perf/core_toggle 中找到切换事件功能的实现。 repo,由功能的开发人员维护。您或许可以自己编译该代码并使用该功能。您可以找到有关如何使用它的示例 here .但是,我认为它尚未在任何版本的内核的主要 Linux 存储库中被接受。

如果您想测量一个或多个事件的数量,则有一些易于使用的替代方法,但需要在您的代码库中添加几行代码。您可以以编程方式使用 perf interface或提供此类 API 的其他第三方工具,例如 PAPILIKWID .

关于c - 在执行特定功能期间监视性能计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54858640/

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