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

相关推荐
数智化管理手记12 分钟前
智能财务如何减少财务加班?智能财务落地需要哪些工具支撑?
大数据·网络·数据库·数据挖掘·精益工程
SelectDB1 小时前
快手从 ClickHouse 到 Apache Doris 的百 PB 数据、200+集群迁移实践
数据库·性能优化·开源
其实防守也摸鱼4 小时前
运维--安全与数据库
网络·数据库·学习·安全·安全威胁分析·数据库架构·软件安全
Ashley的成长之路5 小时前
前端性能优化实战手册·第1篇:从 Lighthouse 60 到 95 的完整路径
前端·性能优化
wbs_scy5 小时前
仿 muduo 高并发服务器项目:实现 Connection 连接管理模块,并整合 Any 上下文
运维·服务器·网络
熬夜苦读学习5 小时前
基于websocket的多用户五子棋网页游戏
linux·服务器·网络·websocket·网络协议·游戏·五子棋
蝶恋舞者6 小时前
Wireshark 抓包工具
网络·测试工具·wireshark
Sirius Wu6 小时前
OpenClaw Observability 并发安全(Per-Request Hook)完整详解
服务器·网络·人工智能·安全·ai·架构·aigc
互联网科技看点7 小时前
2026年短信服务性价比分析:飞鸽云与头部云厂商
大数据·网络
数据知道7 小时前
BGP 劫持是怎么回事?运营商级路由安全科普
网络·安全·网络安全·智能路由器·bgp劫持