performance - 如何检查应用程序是否受 CPU 限制或内存限制?

标签 performance memory caching

我有一个应用程序,它只做很少的计算 CPU 工作,但主要是内存访问(分配对象和移动它们,很少有数字或算术代码)。

在 CPU 空闲的情况下,我如何衡量我花费在内存访问延迟(由于缓存未命中)上的时间份额?

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

最佳答案

您总是可以profile您的应用程序以查看它大部分时间都花在了哪里。

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

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

编辑:

要更准确地测量处理器性能和内存访问,您还可以尝试 AMD CodeAnalyst Performance Analyzer . Here是关于如何将它与英特尔处理器一起使用的说明,虽然我自己没有尝试过。

另一个您可能也会觉得有用的工具是Intel Performance Tuning Utility。 .

关于performance - 如何检查应用程序是否受 CPU 限制或内存限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3156334/

相关文章:

c# - 让多个请求等待第一个完成(缓存)

javascript - 快速安全地删除 JavaScript 中有符号数字符号的方法

c# - 在类中实例化 IConfidentialClientApplication 是不好的做法吗?

python - 如何加快 Pandas 多级数据帧总和?

JavaScript - 局部类变量会被垃圾收集吗?

silverlight - 以编程方式使 Silverlight XAP 文件从浏览器缓存中过期

java - 部署在 Tomcat 上的应用程序的性能问题

c++ - 什么时候删除[]指针c++?

java - 简单的 Android 应用程序即将 OOM

caching - Coldfusion 9 上的 EHCache - 我可以创建多个缓存或禁用它吗?