有没有办法告诉(在UNIX上)哪个进程的内存页在RAM中,哪些已被换出?
答案 0 :(得分:2)
不是以便携方式。
即使有可能,也几乎没用。您已经检查过的页面在您准备好使用它的那一刻就可以换掉。
答案 1 :(得分:1)
没有可移植的方式。您可以阻止页面与mlock
或mlockall
交换(但这需要足够的权限),或者您可以使用非便携式方法。在Linux上,kpageflags
中的/proc
文件以及pagemap
下进程目录中的/proc
文件应该足以为您提供信息。它们记录在Linux源代码的Documentation
树中。