我有一个windows桌面,配置如下:Intel Xeon(R) CPU E5645 @2.40GHz(2处理器)
24 GB内存和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
Advanced Technologies部分。它说你的CPU支持超线程
来自维基百科:
对于每个物理存在的处理器核心,操作系统会寻址两个虚拟或逻辑核心…
因此,您有两个处理器,每个处理器有6个物理内核(但有12个逻辑或虚拟内核):
(2 × 6) × 2 = 24
也可以查看node.js docs:
os.cpus ()
返回一个对象数组,其中包含每个安装的CPU/core的信息:model, speed(以MHz为单位)和times(一个包含CPU/core在user, nice, sys, idle和irq中花费的毫秒数的对象)。
这就是为什么require('os').cpus()
返回的数组包含24个元素。