2

我正在尝试通过 Linux 中的一些基准应用程序跟踪内存访问模式。最终,我想知道内核(或用户)空间中的 CPU 访问的物理内存地址。

有没有一种简单的方法可以在不修改内核源代码的情况下获得它?我希望可以在我的内核模块中挂钩一些 MMU 例程,然后将虚拟地址转换为物理地址,并将物理地址写入内核日志或类似的东西。这可能吗?

使用像 Qemu 这样的模拟器会更好吗?

4

1 回答 1

1

是的,去 QEMU,它最适合你的要求。您必须调整 QEMU 代码才能将虚拟地址转换为物理地址。唯一的问题是 QEMU 是出于研究目的,因此您可能无法像真实系统那样获得准确的映射行为。但是,它仍然会在一定程度上实现您的目的。

于 2012-10-15T06:50:14.250 回答