判断页面是否在内存中?

时间:2012-05-06 18:24:31

标签: c unix

有没有办法告诉(在UNIX上)哪个进程的内存页在RAM中,哪些已被换出?

2 个答案:

答案 0 :(得分:2)

不是以便携方式。

即使有可能,也几乎没用。您已经检查过的页面在您准备好使用它的那一刻就可以换掉。

答案 1 :(得分:1)

没有可移植的方式。您可以阻止页面与mlockmlockall交换(但这需要足够的权限),或者您可以使用非便携式方法。在Linux上,kpageflags中的/proc文件以及pagemap下进程目录中的/proc文件应该足以为您提供信息。它们记录在Linux源代码的Documentation树中。