LouisK LouisK - 1 year ago 82
Linux Question

Node.js - Get number of processors available

This is really just to satisfy curiosity, and see if there's a better way to do this.

On my Windows 8 box, Node's

object has a
property, on my Linux box it doesn't.

Obviously different platforms have different environment variables, that much is a given, but it seems like NUMBER_OF_PROCESSORS would be a useful thing to have regardless.

My quick fix for Linux was spawning a child process to run the
command, but I'd like to avoid using a callback for simply getting the number of processors. Seems like there must be a simpler way.

What have other people done to solve this?

Answer Source

It's built into node and called os.cpus()

Returns an array of objects containing information about each CPU/core installed: model, speed (in MHz), and times (an object containing the number of milliseconds the CPU/core spent in: user, nice, sys, idle, and irq).

The length of this array is the number of "processors" in the system. Most systems only have one CPU, so that's the number of cores of that CPU.