2014-09-25 14 views
24

To jest naprawdę po to, aby zaspokoić ciekawość i zobaczyć, czy jest lepszy sposób na zrobienie tego.Node.js - Uzyskaj liczbę dostępnych procesorów

Na moim Windows 8 box, obiekt Node process.env ma właściwość NUMBER_OF_PROCESSORS, na moim Linuxie nie ma.

Oczywiście różne platformy mają różne zmienne środowiskowe, tyle jest danych, ale wygląda na to, że NUMBER_OF_PROCESSORS byłoby rzeczą przydatną niezależnie.

Moja szybka poprawka dla systemu Linux zaczęła proces potomny uruchamiający komendę nproc, ale chciałbym uniknąć użycia wywołania zwrotnego w celu uzyskania liczby procesorów. Wydaje się, że musi być prostszy sposób.

Co zrobili inni ludzie, aby rozwiązać ten problem?

Odpowiedz

34

Jest zbudowany na węźle i nazywa os.cpus()

Zwraca tablicę obiektów zawierających informacje o każdym CPU/core zainstalowane: model, prędkość (w MHz), a czas (obiekt zawierający liczbę milisekund Procesor/rdzeń wydany w: użytkownik, ładny, sys, idle i irq).

Długość tej tablicy to liczba "procesorów" w systemie. Większość systemów ma tylko jeden procesor, więc jest to liczba rdzeni tego procesora.

+4

Ta lista zawiera również wirtualne rdzenie. Intel i7 pokaże 8 rdzeni logicznych z 4 fizycznych rdzeni dzięki technologii Hyper-Threading. –

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

dlaczego to jest głosowanie? jest prawidłowe. – chovy

Powiązane problemy