Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试通过 Linux 中的一些基准应用程序跟踪内存访问模式。最终,我想知道内核(或用户)空间中的 CPU 访问的物理内存地址。
有没有一种简单的方法可以在不修改内核源代码的情况下获得它?我希望可以在我的内核模块中挂钩一些 MMU 例程,然后将虚拟地址转换为物理地址,并将物理地址写入内核日志或类似的东西。这可能吗?
使用像 Qemu 这样的模拟器会更好吗?
是的,去 QEMU,它最适合你的要求。您必须调整 QEMU 代码才能将虚拟地址转换为物理地址。唯一的问题是 QEMU 是出于研究目的,因此您可能无法像真实系统那样获得准确的映射行为。但是,它仍然会在一定程度上实现您的目的。