Tom Hawtin - tackline Asked: 2009-05-27 17:06:51 +0800 CST2009-05-27 17:06:51 +0800 CST 2009-05-27 17:06:51 +0800 CST 可以将 Windows 配置为仅使用单个硬件线程吗? 772 可以将 Windows 配置为仅使用单个硬件线程。过去几年的每台机器似乎都至少是双核的,但一些时序错误只有在线程串行执行时才能重现。我对 Windows Vista 尤其感兴趣。 windows threads multi-core 4 个回答 Voted Peter Stuer 2009-06-07T00:58:53+08:002009-06-07T00:58:53+08:00 大卫,让我们首先解决您的直接问题:如何将 Windows Vista 限制为一个内核。 我看到两种方法: (a) 在 Hyper-V 上的虚拟机中运行您的 Vista,并只给虚拟机一个逻辑处理器。这使您可以充分利用机器的其余部分。 (b) 或者,您可以使用 boot.ini 中的/numproc=1选项来强制机器使用单个处理器。您可以通过 msconfig 进行配置。 单击开始,单击运行,键入 msconfig,然后单击确定。 单击“启动”选项卡。 点击“高级选项...” 单击以选中“处理器数量”复选框,然后选择“1”。 单击确定两次,然后重新启动计算机。 替代文字 http://i39.tinypic.com/141789i.png 但也许将您的程序限制在一个内核就足够了,那么设置处理器亲和性是最好的答案。这可以通过配置或直接从您的流程代码来实现。 除了这些之外,如果适用于您的环境,您可能还需要考虑高级多线程调试工具,例如Intel 的 Thread Checker 。 Roy Rico 2009-05-27T17:19:58+08:002009-05-27T17:19:58+08:00 您正在寻找的是如何设置“进程关联”,以及如何设置它取决于您正在启动的程序以及您如何启动它。 我在堆栈溢出上看到了这个答案: stackoverflow.com/questions/827754/.... LapTop006 2009-05-27T18:16:45+08:002009-05-27T18:16:45+08:00 许多机器也可以在 BIOS 中禁用 SMP(如果相关,还有超线程)。 时序错误(或竞争条件的常见子集)似乎更普遍地在多核机器上重现。 Martin P. Hellwig 2009-06-07T00:41:56+08:002009-06-07T00:41:56+08:00 您希望 boot.ini 中的 /onecpu 开关在此处查看:http: //support.microsoft.com/kb/170756
大卫,让我们首先解决您的直接问题:如何将 Windows Vista 限制为一个内核。
我看到两种方法:
(a) 在 Hyper-V 上的虚拟机中运行您的 Vista,并只给虚拟机一个逻辑处理器。这使您可以充分利用机器的其余部分。
(b) 或者,您可以使用 boot.ini 中的/numproc=1选项来强制机器使用单个处理器。您可以通过 msconfig 进行配置。
替代文字 http://i39.tinypic.com/141789i.png
但也许将您的程序限制在一个内核就足够了,那么设置处理器亲和性是最好的答案。这可以通过配置或直接从您的流程代码来实现。
除了这些之外,如果适用于您的环境,您可能还需要考虑高级多线程调试工具,例如Intel 的 Thread Checker 。
您正在寻找的是如何设置“进程关联”,以及如何设置它取决于您正在启动的程序以及您如何启动它。
我在堆栈溢出上看到了这个答案: stackoverflow.com/questions/827754/....
许多机器也可以在 BIOS 中禁用 SMP(如果相关,还有超线程)。
时序错误(或竞争条件的常见子集)似乎更普遍地在多核机器上重现。
您希望 boot.ini 中的 /onecpu 开关在此处查看:http: //support.microsoft.com/kb/170756