El método os.cpus() es una interfaz de programación de aplicaciones incorporada del módulo os que se utiliza para obtener información sobre cada núcleo de CPU lógico de la computadora.
Sintaxis:
os.cpus()
Parámetros: este método no acepta ningún parámetro.
Retorno: este método devuelve un objeto que contiene información sobre cada núcleo de CPU lógico. Cada uno de los objetos devueltos contendrá los siguientes atributos:
- modelo: una string que especifica el modelo del núcleo de la CPU.
- velocidad: un número que especifica la velocidad del núcleo de la CPU (en MHz).
- times: Un objeto que contiene las siguientes propiedades:
- usuario: un número especifica el tiempo que la CPU ha pasado en modo usuario en milisegundos.
- agradable: un número especifica el tiempo que la CPU ha pasado en modo agradable en milisegundos.
- sys: un número especifica el tiempo que la CPU ha estado en modo sys en milisegundos.
- inactivo: un número especifica el tiempo que la CPU ha pasado en modo inactivo en milisegundos.
- irq: un número especifica el tiempo que la CPU ha estado en modo irq en milisegundos.
Nota: Los nice
valores se utilizan solo para POSIX. En el sistema operativo Windows, el nice
valor de todos los procesadores siempre es 0.
Los siguientes ejemplos ilustran el uso del método os.cpus() en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // os.cpus() method // Allocating os module const os = require('os'); // Printing os.cpus() values console.log(os.cpus());
Producción:
[ { model: 'Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz', speed: 2712, times: { user: 900000, nice: 0, sys: 940265, idle: 11928546, irq: 147046 } }, { model: 'Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz', speed: 2712, times: { user: 860875, nice: 0, sys: 507093, idle: 12400500, irq: 27062 } }, { model: 'Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz', speed: 2712, times: { user: 1273421, nice: 0, sys: 618765, idle: 11876281, irq: 13125 } }, { model: 'Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz', speed: 2712, times: { user: 943921, nice: 0, sys: 460109, idle: 12364453, irq: 12437 } } ]
Ejemplo 2:
// Node.js program to demonstrate the // os.cpus() method // Allocating os module const os = require('os'); // Printing os.cpus() var cpu_s=os.cpus(); var no_of_logical_core=0; cpu_s.forEach(element => { no_of_logical_core++; console.log("Logical core " + no_of_logical_core + " :"); console.log(element); }); console.log("total number of logical core is " + no_of_logical_core);
Producción:
Logical core 1 : { model: 'Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz', speed: 2712, times: { user: 856437, nice: 0, sys: 866203, idle: 11070046, irq: 133562 } } Logical core 2 : { model: 'Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz', speed: 2712, times: { user: 805296, nice: 0, sys: 462656, idle: 11524406, irq: 23218 } } Logical core 3 : { model: 'Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz', speed: 2712, times: { user: 1225062, nice: 0, sys: 566421, idle: 11000875, irq: 12203 } } Logical core 4 : { model: 'Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz', speed: 2712, times: { user: 900234, nice: 0, sys: 420000, idle: 11472125, irq: 11781 } } total number of logical core is 4
Nota: El programa anterior se compilará y ejecutará usando el node index.js
comando.
Referencia: https://nodejs.org/api/os.html#os_os_cpus