linux – 什么是锁步采样?
我在几篇关于分析应用程序的帖子中看过这个术语,但我不明白它实际意味着什么以及它如何影响分析结果.
我见过它here for dtrace:
Here for perf:
从我所看到的所有剖析器应该避免锁步采样,因为结果可能“倾斜”和“误导”,但我不明白为什么.我想这个问题适用于所有的分析器,但我对linux上的perf感兴趣. 解决方法
锁步采样是指分析样本与应用程序中的循环频率相同的情况.结果是样本经常出现在循环中的相同位置,因此它会认为该操作是最常见的操作,并且可能是瓶颈.
如果您试图确定道路是否会出现拥堵,并且每隔24小时对其进行一次采样,则可以进行类比.该样本很可能与流量变化保持同步;如果是在上午8点或下午5点,它将与高峰时间一致,并得出结论:道路非常繁忙;如果它是在凌晨3点,它将得出结论,实际上根本没有流量. 为了准确采样,需要避免这种情况.理想情况下,样本应该比应用程序中的任何周期更频繁,或者以随机间隔,以便在任何特定操作中发生的机会与操作所花费的时间量成比例.但这通常是不可行的,因此下一个最好的事情是使用与程序周期的可能频率不一致的采样率.如果程序中有足够的循环,则应确保样本在每个循环开始时以许多不同的偏移量进行. 为了将其与上述类比联系起来,每天23小时或每天随机抽样将导致样本最终遇到一天中的所有时间;每23天的样本周期将包括一天中的所有小时.这样可以更全面地了解流量水平.每小时一次采样将在短短几周内提供完整的图像. 我不确定为什么奇数频率可能确保这一点.它似乎是基于一个假设,即程序操作有固有频率,这些都是偶数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 如何杀死永不死的进程?
- 在嵌入式Linux上使用C Std Lib时出现异常的段错误
- system-monitoring – 如何在Linux / Solaris上使用ipmitoo
- vivo8.0系统最完美激活xposed框架的教程
- linux – Bash,Shell,UXTerm和Terminal之间的区别
- Linux(三)——Unix&Linux 的基础命令
- extjs – TreeGrid:设置数据root无效
- Linux Centos 通过虚拟用户访问FTP的配置
- macos – 如何在OS X上使用ditto在Linux上像cp -a一样工作
- Linux上的Oracle使用ASP.NET Windows身份验证模拟