当前位置: 首页 > 面试题库 >

在Linux中使用硬件性能计数器

陶富
2023-03-14
问题内容

我想使用Intel和AMD x86_64多核处理器随附的硬件性能计数器来计算程序的退货存储数量。我希望每个线程分别计算其退休商店。能做到吗 如果是这样,在C
/ C ++中如何?


问题答案:

如果要在内部对程序某些部分的硬件事件进行计数(而无需启动任何第三方工具),则可以使用Perfctr或PAPI。

Perfctr快速入门:http
:
//www.ale.csce.kyushu-u.ac.jp/~satoshi/how_to_use_perfctr.htm

PAPI主页:http :
//icl.cs.utk.edu/papi/

PerfSuite好的文档:http
://perfsuite.ncsa.illinois.edu/publications/LJ135/x27.html

如果可以从外部进行此操作,则可以使用perf现代Linux 的命令。

perf
Wiki:https://perf.wiki.kernel.org/index.php/Main_Page



 类似资料:
  • 问题内容: Windows具有性能计数器基础结构。该操作系统提供了一些常见的计数器,我可以添加自己的计数器。Linux / Unix中对应的概念是什么? 问题答案: 看一眼: OProfile 性能 perfmon2

  • 问题内容: 运行时,我看到了一系列的 硬件缓存事件 ,如下所示: 这些事件似乎大多基于测试返回合理的值,但是我想知道如何确定将这些事件映射到系统上的硬件性能计数器事件? 也就是说,这些事件肯定是在Skylake CPU上使用一个或多个基础x86 PMU计数器实现的-但是我怎么知道哪个? 您可以查找其他硬件事件,但不能查找“硬件缓存事件”。 问题答案: 用户@Margaret指出注释中的合理答案-阅

  • Windsor 3 引入了 Windows 性能计数器的支持。 现在 Windsor 只提供了一个计数器 - “通过释放策略跟踪的对象(Objects tracked by release policy)”,显示了指定容器通过释放策略跟踪的对象的总数量。 :information_source: 寻找内存泄露: 这是一个非常有用的特性,能够帮助快速确定是否有未释放被跟踪组件实例的问题。 使用计数器

  • 问题内容: 这两个查询在具有1000万行的表上运行缓慢。我想知道为什么为什么从mysql保留所有insert,update和delete更新的计数器变得不容易? 有没有办法改善这个查询?我使用了说明,但并没有太大帮助。 问题答案: 正如cherouvim在评论中指出的那样,它取决于存储引擎。 确实会保留表行的计数,并且由于MyISAM支持的唯一锁是表锁,因此可以保持准确。 但是支持事务,因此需要进

  • 问题内容: 我需要一些东西来从java中solaris10 os中的文件中获取硬链接数。 不能解析ls -l。 我尝试将posix用于Java http://bmsi.com/java/posix/index.html,但无法使其正常运行。 是否有其他轻量级API或代码来获取此信息? 问题答案: 在Java 7中,您可以使用新的文件属性API来获取它 。 实际上,“ unix”属性视图并未定义为标

  • 1.1.1. 目录 1.1.2. Rokid语音产品硬件设计指南 1.1.3. Rokid开放平台技术优势 1.1.4. 典型产品示例 1.1.5. 工业设计和结构设计指南 1.1.6. 硬件芯片方案 1.1.1. 目录 Rokid语音产品硬件设计指南 Rokid开放平台技术优势 典型产品示例 工业设计和结构设计指南 工业设计指南 麦克风阵列排布 结构设计原则 硬件芯片方案 支持业界主流应用处理器