Node.js - 获取可用的处理器数量

Lou*_*isK 44 linux node.js

这只是为了满足好奇心,看看有没有更好的方法来做到这一点.

在我的Windows 8机器上,Node的process.env对象有一个NUMBER_OF_PROCESSORS属性,在我的Linux机器上它没有.

显然,不同的平台有不同的环境变量,这是一个给定的,但似乎NUMBER_OF_PROCESSORS是一个有用的东西,无论如何.

我对Linux的快速修复是生成一个子进程来运行nproc命令,但是我想避免使用回调来简单地获取处理器的数量.似乎必须有一个更简单的方法.

其他人为解决这个问题做了什么?

Yog*_*ogu 80

它内置于节点并被调用 os.cpus()

返回一个对象数组,其中包含有关安装的每个CPU /核心的信息:模型,速度(以MHz为单位)和时间(包含CPU /核心所用的毫秒数的对象:user,nice,sys,idle和irq) .

该数组的长度是系统中"处理器"的数量.大多数系统只有一个CPU,因此是该CPU的核心数.

  • 此列表还包括虚拟核心.由于超线程技术,英特尔i7将在4个物理内核中显示8个核心逻辑. (7认同)
  • 这是系统中的cpus数。没有nproc返回的*可用*号 (2认同)

rai*_*bba 76

var os = require('os'),
cpuCount = os.cpus().length;
Run Code Online (Sandbox Code Playgroud)

  • 为什么这会被投票?这是正确的. (5认同)
  • 为什么这比两年前的相同答案有更多的赞成?...****第一个答案有两个downvotes,而这个没有.我很困惑. (2认同)

cha*_*mre 13

在 CLI 中,您可以运行以下命令来记录计算机上的核心数量。

node -e 'console.log(require("os").cpus().length)'
Run Code Online (Sandbox Code Playgroud)