如何确定 PAE(物理地址扩展)是否已启用?
是否有特定命令可供使用?我可以读取注册表值或其他内容吗?(Windows 7 32 位)
我在网上找到了这个,但它没有回答我的问题:
如果您的服务器具有热添加内存功能(无需关闭服务器即可添加更多内存的能力!!)或启用了数据执行保护(DEP),则 PAE 将自动启用!!
它只是将问题重新表述为“我的 Qosmio x505 笔记本电脑是否支持热添加内存?”
答案1
如何确定 PAE(物理地址扩展)是否启用?
在任何具有硬件级 DEP 的现代 Intel/AMD(x86/x64)系统上,Windows XP(SP2?)及更高版本均开箱即用启用 PAE,因为它是 DEP 功能运行所必需的。
“我的 Qosmio x505 笔记本电脑支持热添加内存吗?”
不,肯定不是。
热添加 RAM 通常只出现在高端服务器硬件上。
编辑:
根据PAE 的 MSDN 条目,在某些(常见)条件下,它默认启用:
如果在支持硬件启用的 DEP 的计算机上启用了 DEP,或者计算机配置了内存范围超过 4 GB 的热添加内存设备,则 Windows 会自动启用 PAE。如果计算机不支持硬件启用的 DEP,或者未配置内存范围超过 4 GB 的热添加内存设备,则必须明确启用 PAE。
因此,如果系统在启动时强制启用了 PAE 或支持硬件 DEP,则 PAE 处于启用状态。这是预装 Vista 或 Windows 7 的每个系统,以及大量 XP 系统(后期 P4、Core Solo/Duo、Core 2 系统)。唯一的警告是,如果有人特意通过编辑文件boot.ini
(适用于 XP)或修改 BCD(适用于 Vista/7)来强制禁用它。
至于如何查看它是否已启用,我不确定。在 XP 中,如果右键单击My Computer
并选择Properties
,则General
选项卡底部会显示Physical Address Extension
PAE 是否已启用。64 位 Win 7 系统似乎没有显示,可能是因为 PAE 始终在此类系统上处于启用状态。32 位 Win 7 可能会在系统控制面板中显示类似内容,但在我检查家用笔记本电脑之前,我无法肯定地告诉您——这是我可以访问的唯一 32 位 Win 7 系统,我的其他系统都是 64 位的。
似乎没有任何注册表项表明它是否已打开。
最终,关键是,除非你有充分的理由相信它没有打开,否则可以安全地假设它已打开。如果你正在编写依赖于它的代码,请使用处理器功能是否存在功能,这就是它存在的目的。
答案2
要使用图形用户界面确定 PAE 是否已启用,请按照以下步骤操作:
- 单击“开始”,单击“运行”,
wbemtest
在“打开”框中键入,然后单击好的。 - 在 Windows Management Instrumentation 测试器对话框中,单击连接。
- 在“连接”对话框顶部的框中,键入
root\cimv2
,然后单击连接。 - 单击“#Enum Instances”。
- 在类信息对话框中,
Win32_OperatingSystem
在输入超类名称框中键入内容,然后单击好的。 - 在查询结果对话框中,双击最上面的项。请注意,此项以“Win32_OperatingSystem.Name=Microsoft...”开头
- 在对象编辑器对话框中,找到
PAEEnabled
属性区域中的属性并双击它。 - 在“属性编辑器”对话框中,记下“值”框中的值。
答案3
WMI 将通过命令行工具“WMIC”为您提供此信息,例如:
C:\> wmic os get PAEEnabled
PAEEnabled
TRUE
C:\>
或者使用 Powershell:
PS> (Get-WmiObject win32_operatingsystem).PAEEnabled
答案4
笔记本电脑几乎肯定不支持热添加内存。该功能仅存在于某些高端服务器上。
由于驱动程序兼容性问题,Windows XP SP2 及更高版本的客户端操作系统在 32 位模式下不支持超过 4GB 的内存,即使启用了 PAE 也是如此。PAE 仅用于使操作系统能够访问 NX 位。
看http://msdn.microsoft.com/en-us/windows/hardware/gg487512
如果你的 CPU 支持 NX 位,除非你使用 /NOPAE 标志启动,否则内核可能使用 PAE 进行硬件环境保护署支持。