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技术覆盖度大,开销小。

相关推荐
Ivanqhz15 小时前
干涉图着色
java·服务器·网络·数据库·人工智能·深度学习
xiaoye-duck16 小时前
《Linux 网络编程》深入理解 IO 多路复用:select服务器完善、poll 接口详解与服务端改造实战
linux·网络
数字供应链安全产品选型16 小时前
智能体安全选型建议:抛开功能清单,用运行时硬指标甄别真实防护能力
网络·安全
AI备忘录16 小时前
(二十三)华为华三锐捷迈普思科 MLAG 跨设备配置命令(双活网关五厂商对照)
服务器·网络·华为
cindershade16 小时前
一条请求的接力赛:用运行时责任重画 RSC 边界
性能优化·next.js
傲世仙尊16 小时前
HTTP起步-URL域名解析与协议的本质
网络·网络协议·http
打工仔折腾 AI16 小时前
把模型切换交给平台:用蓝耘智能路由搭建商品评论分析工具
java·服务器·前端·后端·python·性能优化·ai agent 实战
智能化咨询16 小时前
(110页PPT)酒店智能化设计方案(附下载方式)
网络
重生之高冷汉堡包17 小时前
IPv4 与 IPv6:主要区别及选择哪个
网络·智能路由器
高升说17 小时前
深度相机接口选型:MIPI、USB3 与 GigE 的带宽估算与工程取舍
网络·人工智能·数码相机