双核仅在一个核心上运行

双核仅在一个核心上运行

我现在在工作中使用这台 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

请注意字符串后面有一个换行符,请保持其原样。

相关内容