【发布时间】:2019-07-18 09:51:12
【问题描述】:
在某些情况下,我正在分析 Memcached 的执行情况,并且我想在执行特定函数期间监控 dTLB 未命中。假设 Memcached 产生多个线程,每个线程都可能并行执行该函数。我发现的一个特殊解决方案,Perf 具有切换事件 (Using perf probe to monitor performance stats during a particular function),应该让我通过在函数进入和退出时设置探针并分别在每个探针上打开/关闭事件计数器来实现这一点。
我的问题是:
(a) 据我了解,性能切换事件是作为 Linux 内核 3.x 分支的一部分。这是否已包含在 Linux 内核 4.x 的最新 LTS 版本中?如果没有,还有其他选择吗?
(b) 我发现的另一种解决方法如下所述:performance monitoring for subset of process execution。但是,我不太确定这是否能正确解决手头的问题。我很担心,因为 Memcached 是多线程的,让每个线程产生一个新的子进程可能会导致过多的开销。
有什么建议吗?
【问题讨论】: