慎用Hyper-Threading Technology
今天,一个同事遇到了一个非常奇怪的问题,他的程序(C#)运用了Hyper-Threading技术,系统用的是Windows 2000 SP4,当程序运行时会随机的抛出一个异常,而且这个bug很不容易reproduce,最后动用了公司几个高手的力量,才找到原因。
原来,Hyper-Threading技术不是所有的系统都能很好的支持的,Windows 2000所有版本都不能很好的支持Hyper-Threading技术,如果是在Windows 2000下开发,最好在System BIOS Setup program中将Hyper-Threading禁掉。
Intel官方网站上是这样描述的:
Operating System Support
Microsoft* Windows* Operating System Based PCs
The following desktop operating systems include optimizations for HT Technology and are currently eligible to carry the new Intel® Pentium® 4 Processor with HT Technology logo:
Microsoft* Windows* XP Professional Edition
Microsoft* Windows* XP Home Edition
The following operating systems are not recommended for use with Hyper-Threading Technology. If you are using one of the following operating systems, it is advised that you should disable Hyper-Threading Technology in the system BIOS Setup program:
Microsoft Windows 2000 (all versions)
Microsoft Windows NT* 4.0
Microsoft Windows Me
Microsoft Windows 98
Microsoft Windows 98 SE
原来,Hyper-Threading技术不是所有的系统都能很好的支持的,Windows 2000所有版本都不能很好的支持Hyper-Threading技术,如果是在Windows 2000下开发,最好在System BIOS Setup program中将Hyper-Threading禁掉。
Intel官方网站上是这样描述的:
Operating System Support
Microsoft* Windows* Operating System Based PCs
The following desktop operating systems include optimizations for HT Technology and are currently eligible to carry the new Intel® Pentium® 4 Processor with HT Technology logo:
The following operating systems are not recommended for use with Hyper-Threading Technology. If you are using one of the following operating systems, it is advised that you should disable Hyper-Threading Technology in the system BIOS Setup program:
看来,我们还不能随便用Hyper-Threading技术,先进的东西要有先进的系统和CPU来支持,呵呵。