【问题标题】:Memory pages used by a process in LinuxLinux中进程使用的内存页 【发布时间】:2011-12-14 19:43:52 【问题描述】: 我想在运行时获取 Linux 进程中所有映射页面(分配的内存)的列表。我该怎么做? 【问题讨论】: 标签: c linux gcc mmap 【解决方案1】: 从进程内部,在 Linux 上,您可以读取和解析 /proc/self/maps ;试试cat /proc/self/maps,它将显示运行cat的进程的内存映射 来自另一个进程,pid为1234的进程的映射,可以阅读/proc/1234/maps 还有/proc/self/smaps等。 Linux 特有的dladdr 函数有时也很有用。 如果您担心真正在 RAM 中的页面,请使用 mincore 和 msync 【讨论】: 【解决方案2】: 您可以为此使用/proc/[PID]/maps。 【讨论】: 【解决方案3】: /proc/$your_pid/maps 并检查/proc/$your_pid 中的其他文件,它们也可能有用 【讨论】: