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

相关推荐
DevSecOps选型指南19 分钟前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
国科安芯1 小时前
抗辐照MCU在卫星载荷电机控制器中的实践探索
网络·嵌入式硬件·硬件工程·智能硬件·空间计算
EasyDSS2 小时前
国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
网络·人工智能
玩转4G物联网3 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
派阿喵搞电子3 小时前
Ubuntu下有关UDP网络通信的指令
linux·服务器·网络
搬码临时工4 小时前
外网访问内网服务器常用的三种简单操作步骤方法,本地搭建网址轻松让公网连接
服务器·网络·智能路由器
Fortinet_CHINA4 小时前
引领AI安全新时代 Accelerate 2025北亚巡展·北京站成功举办
网络·安全
dustcell.5 小时前
Cisco Packer Tracer 综合实验
网络
量子-Alex6 小时前
【反无人机检测】C2FDrone:基于视觉Transformer网络的无人机间由粗到细检测
网络·transformer·无人机
Jeremy_Lee1238 小时前
grafana 批量视图备份及恢复(含数据源)
前端·网络·grafana