C++ 如何监视TLB未命中(windows)?

C++ 如何监视TLB未命中(windows)?,c++,windows,caching,tlb,C++,Windows,Caching,Tlb,windows中是否有方法监视应用程序的TLB未命中?windows中的资源监视器每秒向我显示0个硬故障(因此,TLB未命中页面不在主内存中的位置)。但是,在页面位于主内存中的位置,是否也有某种方法可以监视TLB未命中 我有一个应用程序,我需要对大约100GB的数据进行随机访问。我在一台有160GB内存的计算机上运行它,并将所有数据保存在工作集中。不过,我看到的是,在发生随机访问的部分中,windows任务管理器中显示的cpu仅以大约20%的负载运行(应用程序是多线程的,线程数与cpu核数相同,

windows中是否有方法监视应用程序的TLB未命中?windows中的资源监视器每秒向我显示0个硬故障(因此,TLB未命中页面不在主内存中的位置)。但是,在页面位于主内存中的位置,是否也有某种方法可以监视TLB未命中

我有一个应用程序,我需要对大约100GB的数据进行随机访问。我在一台有160GB内存的计算机上运行它,并将所有数据保存在工作集中。不过,我看到的是,在发生随机访问的部分中,windows任务管理器中显示的cpu仅以大约20%的负载运行(应用程序是多线程的,线程数与cpu核数相同,没有任何关键部分,也没有I/O)


我目前怀疑TLB未命中是问题所在,我想知道如何确认/拒绝这一理论。

您可以通过AMD的测试来衡量这一点。它可以测量许多低水平的性能参数。你可以用AMD的来测量。它可以测量许多低级性能参数。