perf支持的最大采样频率

时间:2018-04-12 23:23:04

标签: linux perf

最大采样频率的值是如何由linux内核决定的?如果在同一台机器上执行perf,为什么这个值会改变?

使用perf时,我注意到perf_event_max_sample_rate的值发生了变化?为什么?这个值不应该保持不变吗?

1 个答案:

答案 0 :(得分:3)

Linux内核跟踪perf的不可屏蔽中断(NMI)处理程序执行的时间。如果采样持续时间超过可配置的阈值(perf_cpu_time_max_percent),则会降低采样率。这样可以防止系统挂起,因为它花费了所有时间来处理采样过程。在这种情况下,您将在内核日志中看到以下消息:

perf samples too long (2506 > 2500), lowering kernel.perf_event_max_sample_rate to 50000

您可以通过将perf_cpu_time_max_percent设置为0来禁用此限制机制:

sysctl -w kernel.perf_cpu_time_max_percent=0

有用的链接: