【问题标题】: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 中的页面,请使用 mincoremsync

    【讨论】:

      【解决方案2】:

      您可以为此使用/proc/[PID]/maps

      【讨论】:

        【解决方案3】:

        /proc/$your_pid/maps 并检查/proc/$your_pid 中的其他文件,它们也可能有用

        【讨论】:

          猜你喜欢
          • 2013-11-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多