Linux中进程使用的内存页面

Met*_*est 2 c linux gcc mmap

我想在运行时获取Linux进程中所有映射页面(已分配内存)的列表.我怎样才能做到这一点?

Bas*_*tch 9

从流程内部,在Linux上,您可以阅读和解析/proc/self/maps; 尝试cat /proc/self/maps将显示运行该进程的内存映射cat

从另一个过程,对于pid 1234的过程地图,你可以阅读 /proc/1234/maps

还有/proc/self/smaps等等

Linux特定的dladdr函数有时也很有用.

如果您担心真正在RAM中的页面,请使用mincoremsync