在 Node.js 中,可以通过 os.cpus()
这个函数,来了解当前状态下,计算机 CPU 的一些状态。以 MacBookPro 2019 款为例,以下是一份输出的结果:
[
{
model: 'Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz',
speed: 2200,
times: {
user: 239572260,
nice: 0,
sys: 133555650,
idle: 644681690,
irq: 0,
},
},
// 省略类似的其他十一个...
]
在这个返回的数组中,每一个元素代表一个 CPU 的线程。这台 MacBookPro 是六核(core)十二线程(processor),所以返回的数组长度是十二。具体来看每一个元素:
model
,表示了当前 CPU 的型号speed
,表示 CPU 的运算速度,单位是 MHz-
times
表示 CPU 的使用情况,分别记录了一些时间(单位是毫秒):user
表示进程在用户模式(user mode)下使用的时间;nice
表示被调整优先级(nice)的进程在用户模式下使用的时间。这里,nice 用于表示执行的优先级,从 -20(最高优先级)到 19(最低优先级)。默认的程序,优先级是 0;(注:这是一个 Unix 特有的功能,对于 Windows 用户来说,这个值永远是 0)sys
表示进程在内核模式下使用的时间;idle
表示空闲的时间;irq
表示硬中断请求花费的时间。硬中断也叫外部中断,由外部硬件产生,如鼠标、键盘等。
有了以上的数据,就可以在 Node / Electron 程序中查看 CPU 的使用,从而对当前程序的执行情况有一个客观的了解。