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;