我们将继续讨论在Linux机器上评估CPU性能的工具。 今天的材料:temci,uarch-bench,likwid,perf-tools和llvm-mca。
更多基准:
照片-Lukas Blazek -Unsplash
这是用于估计两个程序的执行时间的工具。 实际上,它允许您比较两个应用程序的执行时间。 该实用程序由来自德国的一名学生Johannes Bechberger编写,他在2016年的本科工作中对其进行了开发。 今天,该工具
已获得GNU通用公共许可证的许可。
Johannes想要创建一个工具,该工具可以在受控环境中测量计算系统的性能。 因此,temci的主要功能之一是配置测试环境的能力。 例如,
您可以 :更改CPU频率控制管理器的设置,禁用
超线程以及L1和L2高速缓存,在Intel处理器和其他处理器上关闭Turbo模式对于基准测试,temci使用
time ,
perf_stat和
getrusage工具 。
这是第一种情况下实用程序的工作方式:
根据基准测试的结果,系统会生成一个
方便的报告 ,其中包含图表,表格和图形,从而将temci与类似的解决方案区分开来。
temci的缺点突出了他的“青年”。 因此,它
不支持所有硬件和软件配置。 例如,很难在macOS下运行,并且某些功能在具有ARM处理器的系统上不可用。 随着作者积极地开发该项目,并且GitHub上的明星数量逐渐增加,这种情况将来可能会改变-不久前,甚至在Hacker News
的评论中讨论了 temci。
评估底层CPU功能性能的实用程序,它是由工程师Travis Downs(
Travis Downs )开发的。 最近,他在GitHub Pages上运行了
Performance Matters博客,该博客讨论基准测试工具和其他相关内容。 总体而言,uarch工作台才刚刚开始流行,但是Hacker News居民已经在主题线程中经常
提到它作为基准测试工具。
Uarch-bench允许您评估内存性能,并行数据加载的速度以及清理YMM寄存器 。 该程序生成的基准测试结果看起来如何,可以在页面底部的官方存储库中找到。
值得注意的是,与temci一样,uarch-bench
禁用了Intel Turbo Boost功能(它会在负载下自动提高处理器时钟速度),以便测试结果一致。
到目前为止,该项目尚处于开发的早期阶段,因此uarch-bench没有详细的文档,并且其工作中可能存在错误-例如,
已知在Ryzen上运行
遇到的困难 。 仅支持x86体系结构的基准测试。 作者承诺将来会添加更多功能,并邀请其加入开发。
这是一个用于评估具有Intel,AMD和ARMv8处理器的Linux机器性能的工具包。 它是在2017年由德国联邦教育和研究部主持创建的,并已转移到开源中。
在likwid工具中,可以区分likwid-powermeter,它显示来自RAPL寄存器的有关系统消耗功率的信息,以及likwid-setFrequency-允许您控制处理器频率。 您可以
在存储库中找到完整列表。
该工具由从事HPC领域研究的工程师使用。 例如,德国埃尔兰根-纽伦堡大学(RRZE)区域计算中心的一组专家与likwid合作。 她积极参与这套工具的开发。
照片-Clem Onojeghuo-不飞溅
Brendan Gregg
引入了这种用于分析Linux服务器性能的工具。 他是
DTrace的开发人员之一,
DTrace是用于实时调试应用程序的动态跟踪框架。
perf工具基于内核子系统perf_events和ftrace。 它们的实用程序使您可以分析输入/输出延迟(iosnoop),跟踪用于访问系统调用的参数(无计数,funcslower,funcgraph和functrace)以及收集有关文件高速缓存中“命中”的统计信息(cachestat)。 在后一种情况下,命令如下所示:
这个工具周围已经形成了一个相当大的社区(
在GitHub上有近六千颗星 )。 还有一些公司积极使用性能工具,例如
Netflix 。 但是该工具正在最终确定和修改(尽管最近很少发布更新)。 因此,在他的工作中可能会发生错误-作者写道,有时perf-tools称为内核恐慌。
该实用程序可预测机器代码在不同CPU上需要多少计算资源。 它
评估每个周期
的指令(
IPC )和应用程序生成的硬件负载。
llvm-mca于2018年作为
LLVM项目的一部分推出,该项目正在开发用于程序分析,转换和优化的通用系统。 众所周知,llvm-mca的作者受到
英特尔IACA软件性能分析解决方案的启发,并寻求创建替代方案。 根据用户的说法,该工具的输出(其标记和编号)确实类似于IACA-
在此处可以找到示例。 但是,llvm-mca仅接受
AT&T语法 ,因此您可能需要使用转换器才能使用它。
我们在博客和社交网络中写的内容:
“垫子。 华尔街模式“或如何优化云成本
保护您的Linux系统:10个技巧
风险最小化:如何不丢失数据
为那些已经从事系统管理或打算开始学习的人准备的书
选择:网络上的五本书和一门课程

我们在1cloud.ru提供免费服务“
DNS托管 ”。 您可以在一个个人帐户中管理DNS记录。