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.
有没有办法告诉(在 UNIX 上)进程的哪些内存页在 RAM 中,哪些已被换出?
不是以便携的方式。
即使有可能,也多半是无用的。您检查过的页面在您准备好使用时很可能会被换出。
没有便携的方式。您可以防止mlock页面被or换出mlockall(但这需要足够的权限),或者您可以使用不可移植的方法。在 Linux 上, 中的kpageflags文件/proc以及pagemap下的进程目录中的文件/proc应该足以为您提供信息。它们记录在 Linux 源代码Documentation树中。
mlock
mlockall
kpageflags
/proc
pagemap
Documentation