c - Linux 进程使用的内存页

标签 c linux gcc mmap

我想在运行时获取 Linux 进程中所有映射页面(分配的内存)的列表。我该怎么做?

最佳答案

从进程内部,在 Linux 上,您可以读取和解析 /proc/self/maps ;尝试 cat/proc/self/maps 它将向您显示运行该 cat

的进程的内存映射

从另一个进程来看,对于pid 1234的进程的map,可以读到/proc/1234/maps

还有/proc/self/smaps

Linux 特定 dladdr函数有时也很有用。

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

关于c - Linux 进程使用的内存页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8510648/

相关文章:

c - 如何逐位读取 "char abc[10]"并检查哪一位被设置?

java - 在 CentOS 6.5 中更改主机名的 "correct"方法是什么? (以及/etc/hosts和/etc/sysconfig/network脚本的区别)

gcc - gcc 生成的 x86_64 汇编代码中的 xorl %eax, %eax

c - 如何让 gcc 警告未定义的结构?

c - 违反完整性 - 尝试存储到 protected 内存中

将字符数组转换为字符串使用 C

java - 如何根据情况判断是使用邻接矩阵还是邻接数组

linux - 是否有用于收集有关 mmap 区域信息的 Linux API?

php - PHP(使用 Apache 或 Nginx)可以在 POST 请求完成之前检查 HTTP header 吗?

c - 通过指针表示法写入二维数组