perf.data 归档与离线分析
更新时间:2026-10-01。生产机采完想拿回开发机分析,符号对不上是最常见问题。
一、为什么会“无名”
perf.data 记录 IP 与 build-id,函数名靠分析时用对应二进制和调试符号解析。分析机缺该版本二进制或被 strip,就只剩十六进制地址。
二、解决
perf buildid-cache注册对应二进制,或--symfs <dir>指定根。- 现场可用
perf archive收集相关对象(不同版本命令有差异)。 - 保留带调试符号的构建产物,用 build-id 精确匹配。

三、常见坑
- 只拷 perf.data,不带符号。
- 本地已更新到新版本二进制,与采样 build-id 不符。
- perf.data 含敏感路径/数据未处理。
小结
可离线分析的关键是 build-id + 匹配的带符号二进制;归档规范决定了跨团队协作效率。下一篇 生产环境低风险剖析。
总结
perf.data 默认只记录 IP 与 build-id,函数名靠分析时用对应版本的二进制和调试符号解析——把它单独拷到开发机,若缺该版本二进制或已被 strip,就只剩十六进制无名地址;解决要靠 build-id 精确匹配:perf buildid-cache 注册二进制、--symfs 指定根、或 perf archive 把相关对象打包,并保留带调试符号的构建产物;归档时还要注意 perf.data 可能含敏感路径/数据,跨团队能否完整复现分析全看这套归档规范。