当前位置:首页 > 操作系统 > Windows

windows – 从OS /应用程序中分析CPU高速缓存/内存?

我希望编写的软件本质上可以分析CPU缓存(L2,L3,可能是L1)和内存,以分析性能.

我认为这是不可行的,因为软件无法访问缓存内容吗?

另一种措辞我的问:有什么方法可以从操作系统/应用程序级别知道哪些数据已加载到缓存/内存中?

编辑:操作系统WindowsLinux和CPU Intel Desktop / Xeon

解决方法:

您可能希望查看英特尔的PMU,即性能监控单元.有些处理器有一个.它是一组专用寄存器(英特尔称之为模型特定寄存器或MSR),您可以使用RDMSR和WRMSR指令对其进行编程以计算事件,如缓存未命中.

这是一份关于Performance Analysis on i7 and Xeon 5500的文件.

您可能需要查看英特尔Performance Counter Monitor,它基本上是一些抽象PMU的例程,您可以在C应用程序中使用它来实时测量多个性能指标,包括缓存未命中.它还有一些用于独立使用的GUI / Commandline工具.

显然,the Linux kernel has a facility for manipulating MSRs.

还有其他实用程序/ API也使用PMU:perf,PAPI.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐