linux机器上可以查看页表吗

标签 c linux operating-system

最近我读到页表是每个进程的实体,我在想是否可以在 Linux 机器上查看特定进程的页表? 我读到某些寄存器中有对页表的引用?

最佳答案

在 x86 上,存在 cr3 寄存器,它指向您的进程的页表。不过,您无法在ring-0之外访问它,因此您必须依靠/proc/self/pagemap之类的东西来查找页表。

如果您只想查看进程中映射的内容,请查看/proc/self/maps。 如果您确实想了解底层物理框架,请查看/proc/self/pagemap。

以下是有关页面映射文件的一些更详细的信息: https://www.kernel.org/doc/Documentation/vm/pagemap.txt

关于linux机器上可以查看页表吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22828242/

相关文章:

c - 在 Swift 中读取二进制 (.hgt) 文件(将代码从 C++ 迁移到 swift)

c++ - 如果程序从 linux 中的两个终端运行,fork 的共享内存是否共享

c - 如何管理插入和删除内容的内存?

performance - 编程竞赛的单任务

c - 当文件系统已满时进程会发生什么

c - 有符号字符的无符号字符输出

c - 如何从 Netlink 套接字中注册的回调函数以外的函数发送和接收消息?

c++ - Igraph (C) 返回错误的顶点 ID

linux - 使用 systemctl 或服务命令在 CentOS7 中不会提示用户输入

php - Composer fatal error : Declaration of Fxp. .. 必须与第 334 行的 ...AbstractAssetsRepository.php 兼容