Node.js - Получить количество доступных процессоров

Это действительно просто для того, чтобы удовлетворить любопытство и посмотреть, есть ли лучший способ сделать это.

В моем окне Windows 8 объект Node process.env имеет свойство NUMBER_OF_PROCESSORS, на моем ящике Linux это не так.

Очевидно, что разные платформы имеют разные переменные среды, это много, но похоже, что NUMBER_OF_PROCESSORS будет полезной вещью.

Мое быстрое решение для Linux nproc дочерний процесс для запуска команды nproc, но я бы хотел избежать использования обратного вызова для простого получения количества процессоров. Похоже, что должен быть более простой способ.

Что сделали другие люди, чтобы решить это?

Ответ 1

Он встроен в узел и называется os.cpus()

Возвращает массив объектов, содержащий информацию о каждом установленном процессоре/ядре: модель, скорость (в МГц) и время (объект, содержащий количество миллисекунд, в течение которых процессор/ядро потратил: user, nice, sys, idle и irq),

Длина этого массива - это число "процессоров" в системе. Большинство систем имеют только один процессор, так что количество ядер этого процессора.

Смотрите код ниже:

const os = require('os')
const cpuCount = os.cpus().length

Ответ 2

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