• Node.js Video Tutorials

Node.js - os.cpus() 方法



Node.js 的 os.cpus() 方法将返回一个对象数组,其中包含当前计算机每个逻辑 CPU 内核的详细信息。

每个条目都有一些属性。有一个名为 model 的属性,它是一个字符串,指示系统的 CPU 型号。另一个名为 speed 的属性是一个数值属性,以兆赫为单位。

  • model − 此属性是一个字符串,指定当前 CPU 内核的型号。

  • speed − 此属性是一个数字,以 MHz(兆赫)为单位指定 CPU 内核的速度。

  • times − 包含以下属性的对象。

  • user − 此属性提供一个数字,以毫秒为单位指定 CPU 在用户模式下花费的时间。

  • nice − 此属性提供一个数字,以毫秒为单位指定 CPU 在 nice 模式下花费的时间。

  • sys − 此属性提供一个数字,以毫秒为单位指定 CPU 在 sys 模式下花费的时间。

  • idle − 此属性提供一个数字,以毫秒为单位指定 CPU 在空闲模式下花费的时间。

  • irq − 此属性提供一个数字,以毫秒为单位指定 CPU 在 irq 模式下花费的时间。

语法

以下是 Node.js os.cpus() 方法的语法:

os.cpus()

参数

此方法不接受任何参数。

返回值

此方法将返回一个对象数组,其中包含有关当前计算机逻辑内核的数据。

注意 − 我们只能在 POSIX 系统中获取 'nice' 值。而在 Windows 操作系统中,每个处理器的 'nice' 值始终为 0。

示例

在下面的示例中,我们尝试将 Node.js os.cpus() 方法记录到控制台。

const os = require('os');
const {cpus} = os;
console.log(os.cpus());

输出

[ { model: 'AMD EPYC 7502P 32-Core Processor',
   speed: 1500,
   times:
   { user: 189226200,
      nice: 0,
      sys: 80776200,
      idle: 8565692600,
   irq: 0 } },
   { model: 'AMD EPYC 7502P 32-Core Processor',
      speed: 1500,
      times:
      { user: 224461400,
      nice: 9000,
      sys: 97874200,
      idle: 8571598100,
      irq: 0 } },
.
.
.
.
.
.
.
.
   { model: 'AMD EPYC 7502P 32-Core Processor',
      speed: 1500,
      times:
   { user: 114360400,
      nice: 0,
      sys: 80239500,
      idle: 8711811800,
      irq: 0 } },
   { model: 'AMD EPYC 7502P 32-Core Processor',
      speed: 1500,
      times:
   { user: 112385500,
      nice: 0,
      sys: 51727200,
      idle: 8742557600,
      irq: 0 } } ]

注意 − 要获得准确的结果,最好在本地执行上述代码。

如果我们编译并运行上述程序,os.cpus() 将返回一个对象数组,其中包含有关每个逻辑 CPU 内核的信息。

os_cpus

示例

在下面的示例中,我们尝试使用 foreach() 方法为每个逻辑 CPU 内核添加编号标签。然后,我们打印一条语句,其中包含当前计算机中逻辑 CPU 内核的总数。

const os = require('os');
const {cpus} = os;
let CPU = os.cpus();
let LogicalCores=0;
CPU.forEach(element => { LogicalCores++;    
   console.log("Logical CPU core " + LogicalCores + " - ");    
   console.log(element); 
});   
console.log("Total number of Logical CPU cores are: " + LogicalCores);

输出

Logical CPU core 1 - 
{ model: 'AMD EPYC 7502P 32-Core Processor',
  speed: 1500,
  times:
   { user: 2242000, nice: 0, sys: 1316600, idle: 281004400, irq: 0 } }
Logical CPU core 2 - 
{ model: 'AMD EPYC 7502P 32-Core Processor',
  speed: 1500,
  times:{ user: 5663000, nice: 0, sys: 1501800, idle: 278434700, irq: 0 } }
.
.
.
.
.
.
.
Logical CPU core 63 - 
{ model: 'AMD EPYC 7502P 32-Core Processor',
  speed: 1500,
  times:
   { user: 2922500, nice: 0, sys: 1063400, idle: 281854900, irq: 0 } }
Logical CPU core 64 - 
{ model: 'AMD EPYC 7502P 32-Core Processor',
  speed: 1500,
  times:
{ user: 596600, nice: 0, sys: 813400, idle: 284439400, irq: 0 } }
Total number of Logical CPU cores are: 64

注意 − 要获得准确的结果,最好在本地执行上述代码。

如果我们编译并运行上述程序,我们将获得当前计算机的所有逻辑 CPU 内核。我们可以在下图中看到。

logical_cpu_cores
nodejs_os_module.htm
广告