Linux 的性能计数器是一个新的基于内核的子系统,它为所有事物的性能分析提供了一个框架。它还涵盖了硬件级别(CPU/PMU、性能监控单元)功能和软件功能(软件计数器、跟踪点)。从 2.6.33 开始,内核提供 'perf_event_create_kernel_counter' 内核 api 供开发人员创建内核计数器以收集系统运行时信息。我最关心的是启用 tracepoint/ftrace 时对整个系统的性能影响。我找不到关于它们的文档。曾经有人告诉我,ftrace 是通过动态修补代码实现的,它会大大降低系统速度吗?
问问题
3218 次
2 回答
1
动态修补用作在未激活跟踪时最小化开销的一种方式。基于 PMU 的硬件计数器的开销应取决于您采样的不同事件的数量以及频率。它可能足够低,您可以根据需要找到可接受的配置。我会尝试启用您感兴趣的任何信息收集,仔细设置频率,然后凭经验检查开销是否可以接受。
于 2011-01-12T22:02:26.427 回答
-1
这些东西被放进去是因为人们认为它们可能有用,而且毫无疑问它们可以收集到有趣的信息。如果这是目标,那很好。
但是,如果目标是调整软件以获得更高的性能,那么它们几乎没有诊断价值。
它们可以提供有趣的测量结果,但不会告诉您要修复什么。
于 2010-05-08T16:41:33.970 回答