在Linux中,每个进程都有一个用户访问的虚拟页面

在Linux中,每个进程都有一个用户访问的虚拟页面,linux,memory-management,linux-kernel,linux-device-driver,Linux,Memory Management,Linux Kernel,Linux Device Driver,我需要每个过程访问的页面顺序,例如:- Process 1 access its Virtual page 2 then Process 2 access its Virtual page 10 then Process 1 access its virtual page 7 and so on .. #in Linux environment 非常感谢您的帮助。我不知道是否有任何实用程序会提供问题中提到的准确输出,但您可以查看以下链接: 提到的命令是: cat /proc/&l

我需要每个过程访问的页面顺序,例如:-

Process 1 access its Virtual page 2  
then Process 2 access its Virtual page 10 
then Process 1 access its virtual page 7
and so on ..
#in Linux environment 

非常感谢您的帮助。

我不知道是否有任何实用程序会提供问题中提到的准确输出,但您可以查看以下链接:

提到的命令是:

 cat /proc/<pid>/maps
cat/proc//map

你需要通读这两个链接来理解它,并根据你的需要修改输出。

我知道这是一个老问题,但我想将来可能会有人遇到同样的问题


我知道您可以为PIN编写一个工具,这是一个动态二进制插装工具,可以为您完成这项工作。它们有钩子,可以在执行内存指令之前或之后运行。您可以使用这些钩子转储该指令所针对的地址。

不可能立即捕获此信息,除非访问导致错误,因为页面尚未实际存在并且需要加载-对于每个页面的第一次访问可能是这样,排除从fork()继承的映射。当然,如果您正在运行模拟器或可能的虚拟机,或者如果正在调试感兴趣的进程,则记录更为实际。