我现在在工作中使用这台 Windows XP 计算机,我意识到它的性能不佳可能是因为它只使用一个核心,详细信息如下:
- 处理器是奔腾 E5400
- BIOS 中启用了多核功能
- 设备管理器在“处理器”下显示两个核心
- 英特尔处理器识别实用程序显示两个内核
- CPU-Z 仅检测到一个核心
- 任务管理器的性能选项卡仅显示一个图表(启用了“每个 CPU 一个图表”选项)。
- 在执行繁重操作时,CPU 会达到 100%,我预计它会下降到 50%
- Process Explorer(由 sysinternals 提供)也只显示一个图表。
- msconfig 在“BOOT.INI”->“高级选项”下没有选中任何选项(如果我尝试检查 /NUMPROC,我只有“1”选项)
我很困惑,第二个核心似乎被检测为硬件,但并未被使用。有什么帮助吗?
答案1
简短的回答——安装了错误的 HAL。
详细回答——在“计算机”下的“设备管理器”中应该显示“ACPI 多处理器 PC”。如果没有,则可能是在 BIOS 中禁用多核的情况下安装了操作系统。
要修复该问题,请运行以下命令:
rundll32 syssetup,SetupInfObjectInstallAction ACPIAPIC_MP_HAL 128 %windir%\inf\hal.inf
重启后所有核心都应该可以正常工作。
答案2
我在使用 VM 和 XP 时曾见过这种情况。您是否曾将这台计算机的 CPU 从单核 CPU 更换为双核 CPU?
当我在添加了额外核心的 VM 中遇到此问题时,最简单的解决方案是对 XP 进行“修复安装”,它将刷新 XP 的内部结构以使用所有可用核心。
答案3
在安装 ACPIAPIC_MP_HAL 之前,可能需要在注册表中设置相应的硬件 ID。从管理员命令使用 sysinternal 的 psexec 以系统权限启动 regedit:
psexec -i -s regedit
在注册表编辑器中导航到:
HKLM\SYSTEM\CurrentControlSet\Enum\ROOT\ACPI_HAL\0000
并改变:
HardwareID=acpiapic_mp
请注意字符串后面有一个换行符,请保持其原样。