Windows 是否可以配置为仅使用单个硬件线程?

Windows 是否可以配置为仅使用单个硬件线程?

可以将 Windows 配置为仅使用单个硬件线程。过去几年的每台机器似乎至少都是双核的,但一些计时错误只有在线程连续执行时才会重现。我对 Windows Vista 特别感兴趣。

答案1

大卫,让我们首先解决你的直接问题:如何将 Windows Vista 限制为一个核心。

我认为有两种方法:

(a) 在 Hyper-V 上的虚拟机中运行 Vista,并只为虚拟机提供一个逻辑处理器。这样您就可以充分利用机器的其余部分。

(b)或者,您可以使用/numproc=1boot.ini 中的选项强制机器使用单个处理器。您可以通过 msconfig 进行配置。

  1. 单击“开始”,单击“运行”,键入 msconfig,然后单击“确定”。
  2. 单击“启动”选项卡。
  3. 点击“高级选项…”
  4. 单击选中“处理器数量”复选框,然后选择“1”。
  5. 单击“确定”两次,然后重新启动计算机。

替代文本 http://i39.tinypic.com/141789i.png

但也许这足以限制只是你的程序然后设置处理器亲和性是最佳答案。这可以通过配置或直接从您的流程代码中实现。

除此之外,你可能还需要考虑使用高级多线程调试工具,例如英特尔的线程检查器如果这适用于您的环境。

答案2

您正在寻找的是如何设置“进程亲和力”,以及如何设置它取决于您正在启动的程序以及如何启动它。

我在 stack overflow 上看到了这个答案: stackoverflow.com/questions/827754/....

答案3

另外,许多机器可以在 BIOS 中禁用 SMP(和超线程,如果相关)。

时间错误(或者竞争条件的常见子集)似乎在多核机器上更容易重现。

答案4

您可能希望 boot.ini 中的 /onecpu 开关如下所示: http://support.microsoft.com/kb/170756

相关内容