有没有办法在 Linux 系统上禁用 CPU 缓存(L1/L2)?

Ros*_*osh 5 linux cpu gcc caching

我正在 Linux 系统(在 Intel Core i7 4500U 上运行)上分析一些代码,以获得仅执行成本的时间。该应用程序是来自 libmpeg2 的演示 mpeg2dec。我试图获得 mpeg2 执行时间的概率分布。然而,我们希望看到缓存关闭时的原始执行成本。

有没有办法通过 Linux 命令或 gcc 标志禁用系统的 cpu 缓存?或者甚至将 cpu (L1/L2) 缓存大小设置为 0KB ?或者甚至添加一些更改的代码以禁用缓存?当然,无需修改或重建内核。

小智 3

请参阅此 2012 年线程,有人发布了一个小型内核模块源代码以通过 asm 禁用缓存。

http://www.linuxquestions.org/questions/linux-kernel-70/disabling-cpu-caches-936077/

  • 您应该总结答案中的链接内容,以避免链接失效 - 就目前情况而言,如果链接损坏,答案对未来的读者就没用了 (5认同)