Phil Bull
philbull@gmail.com 2011
Michael Hill
mdhillca@gmail.com 2011, 2014
查看进程的内存映射。
Victor_Trista
ljlzjzm@hotmail.com 2023

# 使用内存映射

虚拟内存 代表系统中 物理内存 和 交换空间 的组合。通过将物理内存中的位置 映射 到磁盘中的文件，它使正在运行的进程能够访问现有物理内存以外的更多内存。当系统需要的内存页面多于可用内存页面时，一些现有页面将被 调出 或写入 交换空间。

内存映射 显示进程的总虚拟内存使用量，并可用于确定运行单个或多个程序实例的内存开销，确保使用正确的共享库，查看调整程序可能具有的各种性能调优参数的结果，或诊断内存泄漏等问题。

要显示进程的 内存映射：

点击 进程 选项卡。

在进程列表中右键单击进程。

点击 内存映射。

# 查看内存映射

地址以十六进制（基数为 16）显示。

大小以 IEC 二进制词头 显示。

在运行时，进程可以将更多内存动态分配到被称为 堆 的区域，并将参数和变量存储到另一个被称为 堆栈 的区域。

程序本身和每个共享库各有三个入口，分别是读/执行代码段、读/写数据段和只读数据段。所有的数据段都需要在交换时调出。

## 属性

文件名 | 当前进程使用的共享库的位置。如果这个字段是空的，这一行的内存信息描述的是由进程拥有的内存，其名字显示在内存映射表的上方。
VM 开始于 | 内存段开始的地址。VM 开始、VM 终止和 VM 偏移量共同指定共享库映射到磁盘的位置。
VM 终止于 | 内存段结束的地址。
VM 大小 | 内存段的大小。

标志

以下标志描述了进程可以拥有的内存段访问的不同类型：

## p

内存段是该进程私有的，其他进程无法访问。

## r

该进程有权从内存段读取。

## s

内存段与其他进程共享。

## w

该进程有权写入内存段。

## x

该进程有权执行内存段中的指令。

VM 偏移 | 内存段中地址的位置，以 VM 开始位置为基准。
私有的，共享的，未被修改的，已被修改的 | 私有的 页面仅被一个进程访问 共享的 页面可以被多个进程访问 未被修改的 页面在内存中还没有被修改，可以在指定交换出内存时丢弃 已被修改的 页面在内存中已被修改，必须在指定交换出内存时写入磁盘
设备 | 共享库文件名所在设备的主要和次要编号。它们对应着系统的磁盘分区。
Inode | Inode 是文件系统用来存储文件的结构，其编号是唯一的。共享库的位置通过它加载到内存中。