有没有办法在OS X Mountain Lion上读取性能计数器?

28

Shark是苹果的性能分析工具,可以配置自定义性能计数器。由于无法运行32位内核,OSX Mountain Lion不再支持Shark。Apple推出的替代品Instruments.app似乎不支持读取高级性能计数器,如L1缓存命中/未命中。是否有方法在OS X上设置和读取性能计数器?即使没有应用程序,是否有一些用户空间API来实现此功能?

**虽然Instruments.app似乎有一个性能计数器界面,但在我的Retina MacBook Pro上,PM事件窗口没有列出任何事件,并显示“设备:未知”。是否有其他替代方案可供选择?

1个回答

41

是的。它存在,但很难找到且使用起来不方便(版本4.5)。

  • 启动Instruments。
  • 欢迎您进入向导
  • 选择OS X的“空白”模板
  • 按下cmd+L以显示库
  • 将“Counters”工具添加到您的Instruments文档中
  • 按下cmd+shf+P--此时您将看到PM Events浮动窗口。
  • 让我们评估“执行除法操作”--将“执行除法操作”添加到PM Events窗口的搜索字段中。
  • 现在将“执行除法操作”的“状态”设置为“可见”
  • 回到主文档窗口,按下cmd+I以显示“计数器”工具的信息弹出窗口。
  • 点击+ 按钮
  • 将新计数器的事件设置为“执行除法操作”
  • 开始采样...
  • 结束采样...

您将在Instruments的表格列中看到结果。当然,您可以记录许多事件--因此,请查找您感兴趣的L1缓存事件并将其添加到除法的位置。

同时,请准备好系统冻结(在撰写此文时发生了一次)。


这看起来像是正确的解决方案。然而,在我的Retina MacBook Pro上,PM Events窗口是空的,并且显示“设备:未知处理器”。我不是第一个遇到这个问题的人。 - user1775117
11
在Instruments 6.1中,cmd+shf+P不再适用。相反地,请在侧边的详细视图中打开Record Settings选项卡,并点击“Events and Formulas”视图下方的+按钮。 - thakis
@thakis 也许你知道如何在版本7.2中获取它?我在详细视图中也找不到“记录设置”。 - user1016265
3
@user1016265 使用“计数器”模板,并通过查看>检查员>显示记录设置访问记录设置。 - justin
9
“你被巫师所迎接”是在教程中抽离出上下文后写下的最奇怪的句子之一。 - noɥʇʎԀʎzɐɹƆ
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接