第 28 章 监控使用 perf 环形缓冲的性能瓶颈
您可以创建环形缓冲区,它使用 perf
工具获取特定于事件的数据快照,以监控您系统上运行的特定进程或部分性能瓶颈。在这种情况下,perf
仅将数据写入 perf.data
文件,以便在检测到指定事件时进行后续分析。
28.1. 使用 perf 环缓冲缓冲和特定于事件的快照
在通过 perf
对进程或应用中调查性能问题时,在发生特定事件前数小时内可能无法记录数据。在这种情况下,您可以使用 perf record
来创建自定义环形缓冲,该缓冲区在特定事件后拍摄快照。
--overwrite
选项会使 perf record
将所有数据存储在可被覆盖的循环缓冲区中。当缓冲区已满时,perf record
会自动覆盖最旧的记录,因此永远不会被写入 perf.data
文件。
将 --overwrite
和 --switch-output-event
选项一起配置循环缓冲区,记录并持续转储数据,直到它检测到 --switch-output-event
触发器事件。对 perf record
的事件信号发生与用户相关的内容,并将 circular 缓冲区中的数据写入 perf.data
文件。这会收集您感兴趣的特定数据,这会同时减少运行 perf
进程的开销,因为您不需要的数据不会写入 perf.data
文件。