CPU性能优化-磁盘空间和解析时间

即使考虑了跟踪文件的压缩格式,编码后的数据仍然会占用很大的磁盘空间。通常,每条指令不超过1字节,但是考虑到CPU执行指令的速度,数据仍然非常多。根据负载,CPU编码以100MB/s的速度处理PT跟踪文件的情况是很常见的,解析后的数据可能增加10倍多(约1GB/s)。这使得PT工具并不适用于长时间运行的负载,但是,即使是大负载程序也可以用PT运行一小段时间。在这种情况下,用户可以只在问题发生时绑定一小会运行进程。此外,也可以使用环形缓冲区,在环形缓冲区中新的跟踪数据可以覆盖老的。例如,总是跟踪最后10s的数据。

用户可以通过多种方式进一步限制采集,可以限制只跟踪用户或内核空间的代码。此外,还有一个地址过滤的功能,这样就可以动态的控制跟踪的开启和关闭以限制内存带宽,这使得我们可以只跟踪一个函数,甚至一个循环。

解析PT跟踪文件很耗时。在Intel Core i5-8259U机器上,对于跑7ms的负载程序, 编码的PT跟踪文件大概1MB. 使用perf script解析它大概需要20s。使用命令perf script-F time, ip, sym, symoff, insn 的解析结果大概悍勇1.3GB的磁盘空间。

个人经验,Intel PT工具被认为是性能分析的终极手段,有着较低的运行开销,是非常强大的分析工具。然而,到2020年2月为止,用perf script-F带+srcline或者+srccode参数解析跟踪文件会变得相当慢,在日常使用中不太实用。linux perf 工具的实现有待提高,Intel VTune profile对PT技术的支持还是处于实验阶段。

6.5 本章总结

1 只有当上层的性能问题解决了,才建议使用硬件特性进行底层的调优

2 TMA方法是一种非常强大的技术,可以识别程序CPU微架构低效利用,这是一个稳健并且正式的方法

3 最后分支记录LBR 机制可以在运行程序的同时进行持续的记录最近跳转分支指令的输出,产生的性能损耗最小。

4 基于处理器事件的采样PEBS 是另一个性能剖析增强技术,它通过不使用中断的方式自动多次对特定的缓冲区采样来降低采样的开销,不过,PEBS更广为人知的名字是""精准事件,可以精准定位导致某个性能事件的具体指令。Intel处理器支持该特性,AMD处理器也有类似的特性,基于指令的采样。

5 Intel处理器追踪PT技术是一个可以记录程序执行过程并把报文编码到高压缩率二进制文件的技术,该压缩文件可以基于每条指令的时间戳重建程序的执行流。PT技术覆盖度大,开销小。

相关推荐
MC皮蛋侠客35 分钟前
DNP3 系列(十二):测试与工具链——模拟器、Wireshark 与一致性测试
网络·wireshark·dnp3
观测云2 小时前
Fastjson 高危 RCE(CVE-2026-16723):如何用观测云快速发现并完成修复
网络·安全·可观测性·观测云
晓晓_za8986684 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
楷哥爱开发4 小时前
TikTok Shop新加坡本土店入驻:如何选择新加坡本土住宅IP?
网络·网络协议·tcp/ip
网安蟹佬霸4 小时前
# 网络流量分析实战:从Wireshark到入侵检测系统构建(2026最新版,附完整流量分析链与IDS规则集)
网络·测试工具·安全·开源·wireshark·密码学·哈希算法
昌原的儿子LEO7 小时前
进程和线程(2)
linux·服务器·网络
Zzzzmo_7 小时前
【网络原理】TCP/IP协议02
网络·tcp/ip
DianSan_ERP7 小时前
WMS接入电商平台自动化履约实战:一张订单从平台到出库的接口时序设计
java·前端·网络·数据库·安全·架构·自动化
数据知道7 小时前
漏洞挖掘方法论:从 Fuzz 到 0day 的思维框架
网络·安全·web安全·网络安全
智购科技自动售货机工厂8 小时前
2026自动售货机语音支付模块集成:从声纹识别到支付闭环的工程实践~YH
大数据·服务器·网络·数据库·人工智能