如何分析主存和缓存的访问模式?
我正在寻找一种分析主内存访问时间的方法。这种方法应该给我一个 RAM 和 Cache 访问的分布,以便及时分析 CPU 停顿。我想知道是否完全可以在软件中(内核模块?)或者虚拟机可以提供反馈?
I am looking for a way how to analyze the main memory access times. Such method should give me a distribution of RAM and Cache accesses to analyze CPU stalls in time. I wonder if it's possible entirely in software (a kernel module?) or maybe a Virtual Machine may provide a feedback?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
现代 x86_64 CPU 中的性能计数器非常适合在发生缓存未命中、分支预测错误、指令/数据 TLB 未命中、预取等事件时确定正在执行的代码。
在 Linux 上,有诸如
perf
和oprofile
。 AMD 和 Intel 都提供商业工具(适用于 Linux 和其他平台)来记录和分析这些相同的性能计数器。The performance counters in modern x86_64 CPUs are perfect for determining what code is executing when there's events like cache misses, branch mispredictions, instruction/data TLB misses, prefetches, etc.
On linux, there's tools like
perf
andoprofile
. AMD and Intel both offer commercial tools (for linux and other platforms) to record and analyze these same performance counters.