1

当物理内存的大小接近或超过虚拟内存的最大大小时,使用高内存(highmem)。使用这种方法的架构的传统拆分是 3:1,用户空间为 3GiB,内核空间为顶部 1GiB。这意味着内核最多可以映射 1 GiB 的物理内存。

在移动设备中,平均物理内存约为 1 GiB。所以内核可以映射那么多内存。

具有 1GiB 物理内存的设备是否需要 highmem?

我们可以使用 highmem 配置选项处理多少物理内存?

谢谢

4

2 回答 2

1

是的,需要 hignmem,内存映射 IO 和物理 RAM 的非线性映射需要一些 1GiB 地址空间。

于 2013-01-31T22:17:11.637 回答
1

您实际上可以看到使用 lowmem 可以访问多少内存。在具有 1GB 物理内存和 3G/1G VMSPLIT 选项的机器上,我得到以下值:

Virtual kernel memory layout:
    ...
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)

因此,如果您的物理内存超过 760MB,您可能需要启用 highmem。

至于使用 highmem 配置选项可以寻址多少内存,我不确定,但我猜最大是物理可寻址的,所以 4GiB(或接近它)没有 LPAE。但是大多数 SoC 在硬件方面都会有一个下限,因为内存映射的外围设备将使用一些地址空间。

于 2016-09-15T17:29:44.167 回答