我在几篇关于应用程序性能分析的帖子中看到了这个术语,但我不知道它实际上是什么意思以及它如何影响性能分析结果。
我在这里看到了dtrace的内容:
由于捕获内核堆栈要比用户级堆栈更便宜,因此速率也增加到199赫兹。使用奇数速率99和199可避免与其他活动同步取样并产生误导性结果。
-F 99:以99赫兹(每秒采样次数)进行采样。有时我会采样得更快(高达999赫兹),但这也会增加开销。99赫兹应该可以忽略不计。此外,值为“99”而不是“100”,是为了避免同步采样,从而产生偏斜的结果。
从我所见,所有性能分析器都应该避免同步采样,因为结果可能是“偏斜的”和“误导性的”,但我不明白为什么。我猜这个问题适用于所有分析器,但我对linux上的perf感兴趣。