linux perf: 为什么采样频率设置成99Hz而不是100Hz

linux perf: 为什么采样频率设置成99Hz而不是100Hz

-F 99: sample at 99 Herz (samples per second), I’ll sometimes sample faster than this (up to 999 Herz), but that also costs overhead. 99 Hert should be negligible. Also, the value ‘99’ and not ‘100’ is to avoid lockstep sampleing, which can produce skewed results.

以 99 赫兹(每秒样本数)采样,我有时会比这更快(高达 999 赫兹)采样,但这也会产生开销。 99 赫特应该可以忽略不计。 此外,值 ‘99’ 而不是 ‘100’ 是为了避免锁步采样,这会产生偏斜的结果。

lockstep 采样!

lockstep sampleing is when the profiling samples occur at the same frequency as a loop in the application. The result of this would be that the sample often occurs at the same place in the loop, so it will think that opration is the most common operation, and a likely bottleneck. An analogy would be if you were

锁步采样是指分析样本以与应用程序中的循环相同的频率出现。 这样做的结果是样本经常出现在循环中的同一位置,因此它会认为操作是最常见的操作,并且可能是瓶颈。

如果您试图确定道路是否会出现拥堵,并且每隔24小时对其进行一次采样,则可以进行类比.该样本很可能与流量变化保持同步;如果是在上午8点或下午5点,它将与高峰时间一致,并得出结论:道路非常繁忙;如果它是在凌晨3点,它将得出结论,实际上根本没有流量.

为了准确采样,需要避免这种情况.理想情况下,样本应该比应用程序中的任何周期更频繁,或者以随机间隔,以便在任何特定操作中发生的机会与操作所花费的时间量成比例.但这通常是不可行的,因此下一个最好的事情是使用与程序周期的可能频率不一致的采样率.如果程序中有足够的循环,则应确保样本在每个循环开始时以许多不同的偏移量进行.

为了将其与上述类比联系起来,每天23小时或每天随机抽样将导致样本最终遇到一天中的所有时间;每23天的样本周期将包括一天中的所有小时.这样可以更全面地了解流量水平.每小时一次采样将在短短几周内提供完整的图像.

我不确定为什么奇数频率可能确保这一点.它似乎是基于一个假设,即程序操作有固有频率,这些都是偶数.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值