【发布时间】:2017-12-06 15:08:22
【问题描述】:
我正在尝试对我的流程进行一些性能分析。该进程有许多线程忙于循环/忙于等待事件。看起来 perf 正在将繁忙的循环作为最严重的违规者(如预期的那样),但是有什么魔法可以让 perf 以某种方式忽略这些无操作旋转吗?
【问题讨论】:
-
你能控制代码吗?
标签: linux multithreading perf
我正在尝试对我的流程进行一些性能分析。该进程有许多线程忙于循环/忙于等待事件。看起来 perf 正在将繁忙的循环作为最严重的违规者(如预期的那样),但是有什么魔法可以让 perf 以某种方式忽略这些无操作旋转吗?
【问题讨论】:
标签: linux multithreading perf
perf report可以按符号或DSO过滤,但没有办法使用黑名单。
我认为可能有一种方法可以使用组合 -p -x,但 POSIX 正则表达式似乎不支持负前瞻,因此黑名单似乎也不可行。
在一天结束时,您可能需要一种称为根本原因分析或责任转移的东西来将等待时间归因于事件本身被延迟的任何原因。我认为直接使用perf 是不可能的。
此外,被动等待事件通常比忙于等待更好。
【讨论】: