如何检查app是cpu绑定还是内存绑定?

jkf*_*kff 14 memory performance caching

我有一个应用程序几乎没有计算CPU工作,但主要是内存访问(分配对象并移动它们,几乎没有数字或算术代码).

我如何衡量我在内存访问延迟(由于缓存未命中)和CPU闲置时花费的时间份额?

我应该注意到该应用程序正在Hyper-V来宾上运行; 我不确定它会带来什么困难,但它可能会.

the*_*oid 7

您始终可以profile查看应用程序大部分时间都花在哪里。

通过这种方式,您可以了解有关应用程序的行为和数据访问模式的很多信息。

如果您使用 Linux,则可以使用多种可用的分析工具,例如:

编辑:

要更准确地测量处理器性能以及内存访问,您还可以尝试AMD CodeAnalyst 性能分析器以下是有关如何将其与英特尔处理器一起使用的说明,尽管我自己还没有尝试过。

您可能还会发现有用的另一个工具是英特尔性能调整实用程序