require('os')。cpus()。length返回24 …不知道如何?

我有这个configuration的Windows桌面:英特尔至强®CPU E5645 @ 2.40GHz(2个处理器)
具有24 GB RAM和64位操作系统

当我运行下面的代码。

var cpuCount = require('os').cpus().length; 

它将cpuCount返回为24

有人能解释一下这到底是什么意思? 如何确定我有24个CPU只有2个处理器。

http://ark.intel.com/products/48768/Intel-Xeon-Processor-E5645-12M-Cache-2_40-GHz-5_86-GTs-Intel-QPI?q=Xeon%20e5645

先进技术部分。 它说你的CPU支持超线程

从维基百科:

对于物理上存在的每个处理器核,操作系统寻址两个虚拟或逻辑核心。

所以,你有两个处理器,每个处理器有6个物理内核(但是12个逻辑或虚拟):

(2×6)×2 = 24

另外检查出node.js 文档 :

os.cpus()

返回一个包含每个安装的CPU /内核信息的对象数组:模型,速度(以MHz为单位)和时间(包含CPU /内核花费的毫秒数的对象:user,nice,sys,idle和irq) 。

这就是require('os').cpus()返回的数组包含24个元素的原因。

Interesting Posts