如何使用 Visual 2013 分析缓存未命中
Posted
技术标签:
【中文标题】如何使用 Visual 2013 分析缓存未命中【英文标题】:How to profile Cache misses with visual 2013 【发布时间】:2014-12-29 10:49:49 【问题描述】:我正在尝试在 Visual Studio 2013 上对一个小型控制台应用程序进行基准测试。
我在检测模式下设置了一个性能会话,在该会话中我激活了 CPU 计数器集合,并选择了“Last Level Cache Misses”。
当我得到替补席的报告时,我看不到任何包含此信息的列,即使我查看“添加/删除列”菜单也是如此。
你能帮帮我吗?
提前致谢。
##一些额外信息
我关注了这篇博文 http://blogs.msdn.com/b/mgoldin/archive/2010/06/21/cpu-performance-counters-in-visual-studio-2010-profiler.aspx(并阅读了来自 MSDN 的文章,就像 http://msdn.microsoft.com/en-us/library/bb385772.aspx 一样) 还有我的性能会话设置:【问题讨论】:
【参考方案1】:在您尝试运行时检查输出日志。有没有像下面这样的线?
Warning VSP2347: The monitor was unable to start the VS performance driver. Access is denied. Consider using the /Admin:Driver,Start and /Admin:Security options of VSPerfCmd from an elevated environment. Performance counter data and detection of kernel mode execution is disabled.
如果是这样,请尝试以管理员身份运行 Visual Studio。如果我不以管理员身份运行,同样的事情会发生在我身上,不会出现任何列并且会显示该消息。
另外,为了保存以管理员身份运行的 Visual Studio,可以授予任何用户使用性能驱动程序的权限。见https://docs.microsoft.com/en-us/visualstudio/profiling/how-to-set-permissions?view=vs-2017。
【讨论】:
【参考方案2】:如果您单击显示摘要(默认页面)的“当前视图”下拉菜单,请转到“调用树”,相应的列应显示在那里。
【讨论】:
以上是关于如何使用 Visual 2013 分析缓存未命中的主要内容,如果未能解决你的问题,请参考以下文章
spring-data-redis multiGet 如何处理缓存未命中?