推荐Linux性能分析的一篇论文和两本书 原创 Linux阅码场 Linux阅码场 2021-06-22 08:59

简介: 推荐Linux性能分析的一篇论文和两本书原创 Linux阅码场 Linux阅码场 2021-06-22 08:59

最重要的一篇paper:

A Top-Down method for performance analysis and counters architecture

这篇文章提出了topdown分析模型,可以视系统为一个黑盒,看出它是CPU bound还是memory bound的系统。

当然,perf stat命令也提供了相应的支持:
















# perf stat --topdown^C Performance counter stats for 'system wide':
                                    retiring      bad speculation       frontend bound        backend bound S0-D0-C0           2                22.9%                 2.0%                27.9%                47.2% S0-D0-C1           2                10.7%                 0.0%                 0.0%                89.2% S0-D0-C2           2                10.7%                 0.0%                 0.0%                89.2% S0-D0-C3           2                11.6%                 3.4%                39.5%                45.5% S0-D0-C4           2                 8.0%                 3.1%                32.1%                56.8% S0-D0-C5           2                12.9%                 2.6%                37.8%                46.7% S0-D0-C6           2                16.1%                 2.7%                47.5%                33.6% S0-D0-C7           2                 9.8%                 1.3%                32.7%                56.1% S0-D0-C8           2                10.8%                 4.2%                48.0%                37.0% S0-D0-C9           2                 9.1%                 1.8%                30.9%                58.2%

跟可用pmutools看到更多细节:























# python3 ./toplev.py -l 2Will measure complete system.^C# 4.2-full-perf on Intel(R) Core(TM) i9-10900 CPU @ 2.80GHz [skl/skylake]C1    BE             Backend_Bound               % Slots                   89.2 C1    BE/Mem         Backend_Bound.Memory_Bound  % Slots                   49.2  <==  This metric represents fraction of slots the Memory  subsystem within the Backend was a bottleneck...C1    BE/Core        Backend_Bound.Core_Bound    % Slots                   39.9   This metric represents fraction of slots where Core non-  memory issues were of a bottleneck...C1-T0 MUX                                        %                         14.1   PerfMon Event Multiplexing accuracy indicatorC2    BE             Backend_Bound               % Slots                   89.1 C2    BE/Mem         Backend_Bound.Memory_Bound  % Slots                   49.1  <==C2    BE/Core        Backend_Bound.Core_Bound    % Slots                   40.0 C2-T0 MUX                                        %                         14.1 C1-T1 MUX                                        %                         14.2 C2-T1 MUX                                        %                         14.1 Run toplev --describe Memory_Bound^ to get more information on bottleneck for cpuAdd --nodes '!+Memory_Bound*/3,+MUX' for breakdown.Idle CPUs 0,3-10,13-19 may have been hidden. Override with --idle-threshold 100

pmutools的下载地址:

https://github.com/andikleen/pmu-tools


然后推荐2本书:

这个是大神Brendan Gregg的:


以及easyperf.net的:



这2本书各有千秋,前一本被译为“性能之巅”,里面介绍了很多有用的工具,以及提出了USE模型。这本书是性能分析领域的必读书!!之前第一版的封面是:


后一本,对处理器的微架构等有更细的描述,它的目录一定让你垂涎三尺:

这些书和论文怎么弄,我们不介绍,该付钱不付钱,不要想着搞盗版:-)


最后一本书的pdf是免费的,在这里填个email就好:

https://book.easyperf.net/perf_book


topdown的IEEE论文是付费的,但是这里有一个免费的slides:

https://pdfs.semanticscholar.org/b5e0/1ab1baa6640a39edfa06d556fabd882cdf64.pdf


大神Brendan Gregg的书的第一版是有中文版的:

目录
相关文章
|
5天前
|
缓存 监控 Linux
Linux性能分析利器:全面掌握perf工具
【10月更文挑战第18天】 在Linux系统中,性能分析是确保软件运行效率的关键步骤。`perf`工具,作为Linux内核自带的性能分析工具,为开发者提供了强大的性能监控和分析能力。本文将全面介绍`perf`工具的使用,帮助你成为性能优化的高手。
26 1
|
5天前
|
缓存 监控 Linux
掌握Linux性能分析:深入探索perf工具
【10月更文挑战第26天】
11 1
|
25天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
53 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
5月前
|
Linux API 调度
技术笔记:Linux内核跟踪和性能分析
技术笔记:Linux内核跟踪和性能分析
|
3月前
|
Linux
Linux快速性能分析
通过这些工具和命令的有效组合使用,可以对Linux系统的性能进行快速而全面的分析。熟练地掌握这些命令是系统管理员和性能分析师诊断性能问题和优化系统性能的重要手段。
43 10
|
3月前
|
存储 缓存 监控
Linux性能分析工具-perf并生成火焰图
Linux性能分析工具-perf并生成火焰图
|
3月前
|
监控 Linux
性能分析之 Linux 系统中 ps&top 中 CPU 百分比不一致?
【8月更文挑战第18天】性能分析之 Linux 系统中 ps&top 中 CPU 百分比不一致?
146 4
|
3月前
|
存储 缓存 Java
性能分析之构建 Linux 操作系统分析决策树
【8月更文挑战第16天】性能分析之构建 Linux 操作系统分析决策树
35 0
性能分析之构建 Linux 操作系统分析决策树
|
3月前
|
监控 Oracle 关系型数据库
在Linux中,如何使用perf和DTrace进行性能分析。
在Linux中,如何使用perf和DTrace进行性能分析。
|
3月前
|
监控 Linux
在Linux中,什么是系统监控和性能分析工具?举例说明。
在Linux中,什么是系统监控和性能分析工具?举例说明。