参考:
https://man7.org/linux/man-pages/man5/proc.5.html
https://man7.org/linux/man-pages/man2/mincore.2.html
- 如果想知道一个进程的地址空间布局,那么可以通过查看
/proc/<pid>/maps
文件:
也可以用pmap来显示:
- 如果想知道具体每段虚拟地址范围实际有多少映射到物理内存了,可以通过查看
/proc/<pid>/smaps
文件:
这里显示了这段vma的详细信息,如果想显示的更加直观:
此外pmap还支持更多的显示方式:
- 显示文件路径:
-p
- 显示更加详细的信息:
-X
或-XX
- 此外,如果想知道应用程序的某段虚拟地址范围有多少映射到了物理地址,还可以使用系统调用mincore.