> For the complete documentation index, see [llms.txt](https://man.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://man.bsdcn.org/man4/pae.4.md).

# pae(4)

`PAE` — 物理地址扩展

## 名称

`PAE`

## 概要

`options PAE`

## 描述

`PAE` 选项为 Intel Pentium Pro 及以上 CPU 的物理地址扩展功能提供支持，允许在能够支持的系统中使用最多 64 GB 的内存。使用 `PAE` 选项时，4 GB 以上的内存被简单地添加到通用页面池中。系统不区分 4 GB 以上和以下的内存，并且不提供特定设施让进程或内核通过滑动窗口或其他方式访问比原本能够访问的更多内存。

## 参见

[smp(4)](/man4/smp.4.md), [tuning(7)](/man7/tuning.7.md), [config(8)](/man8/config.8.md), [bus\_dma(9)](/man9/bus_dma.9.md)

## 历史

`PAE` 选项首次出现于 FreeBSD 4.9 和 FreeBSD 5.1。

## 作者

Jake Burkholder <jake@FreeBSD.org>

## 缺陷

由于 KLD 模块编译时使用的选项头文件与内核编译时不同，因此不能将它们加载到使用 `PAE` 选项编译的内核中。

许多设备或其设备驱动程序无法直接访问 4 GB 以上的物理地址。为了在使用 `PAE` 选项且内存超过 4 GB 的系统中使用直接内存访问 IO，这些驱动程序必须使用一种设施来重新映射或替换设备无法访问的物理内存。`busdma` 接口提供了这样一种设施。未考虑此类设备的设备驱动程序在使用 `PAE` 选项且内存超过 4 GB 的系统中将无法可靠工作，并可能导致数据损坏。`PAE` 内核配置文件包含 `PAE` 选项，并明确排除所有已知不工作或未在使用 `PAE` 选项且内存超过 4 GB 的系统中测试过的设备驱动程序。

许多确定内核中如何使用内存的参数基于物理内存量。用于确定特定内存配置下这些参数值的公式可能未考虑内存可能超过 4 GB 的事实，并且可能无法很好地扩展到这些内存配置。特别是，可能需要增加内核可用的虚拟地址空间量，或减少大量使用的特定资源量，以避免虚拟地址空间耗尽。`KVA_PAGES` 选项可用于增加内核虚拟地址空间，`kern.maxvnodes` [sysctl(8)](/man8/sysctl.8.md) 可用于减少允许的 vnode 数量，这是内核在大内存配置中可能过度分配的资源示例。为获得最佳性能和稳定性，可能需要查阅 [tuning(7)](/man7/tuning.7.md) 手册页，并对其中记录的参数进行调整。
