Node.js 计算nodejs中的cpu使用率

Node.js 计算nodejs中的cpu使用率,node.js,cpu-usage,Node.js,Cpu Usage,我试图计算运行我的nodejs应用程序的计算机上的CPU使用率,但由于某些原因,输出比ubuntu上的系统监视器显示的要高得多。这是我的密码: const cores = _.map(os.cpus(), 'times') const free = _.sumBy(cores, 'idle') const total = _.sumBy(cores, c => _.sum(_.values(c))) const usage = free * 100 / total console.log(

我试图计算运行我的nodejs应用程序的计算机上的CPU使用率,但由于某些原因,输出比ubuntu上的系统监视器显示的要高得多。这是我的密码:

const cores = _.map(os.cpus(), 'times')
const free = _.sumBy(cores, 'idle')
const total = _.sumBy(cores, c => _.sum(_.values(c)))
const usage = free * 100 / total
console.log(usage)
这将输出约89%,而系统监视器显示我的所有CPU都低于30%。我还尝试在一个核心上计算它,如下所示:

console.log(核心[1].idle/u.sum(u.values(核心[1]))


但这仍然显示了一个类似的数字,这个数字太高了。我做错什么了吗?

我想你应该看看这个问题的答案

os.cpu()
提供的信息是自启动以来的平均使用量。要了解CPU的当前使用情况,可以执行以下操作:

let cores = _.map(os.cpus(), 'times');
let freeBefore = _.sumBy(cores, 'idle');
let totalBefore = _.sumBy(cores, c => _.sum(_.values(c)));

setTimeout(() => {
  let cores = _.map(os.cpus(), 'times');
  let free = _.sumBy(cores, 'idle') - freeBefore;
  let total = _.sumBy(cores, c => _.sum(_.values(c))) - totalBefore;

  let usage = free * 100 / total;
  console.log(usage);
}, 500);

我想你应该看看这个问题的答案

os.cpu()
提供的信息是自启动以来的平均使用量。要了解CPU的当前使用情况,可以执行以下操作:

let cores = _.map(os.cpus(), 'times');
let freeBefore = _.sumBy(cores, 'idle');
let totalBefore = _.sumBy(cores, c => _.sum(_.values(c)));

setTimeout(() => {
  let cores = _.map(os.cpus(), 'times');
  let free = _.sumBy(cores, 'idle') - freeBefore;
  let total = _.sumBy(cores, c => _.sum(_.values(c))) - totalBefore;

  let usage = free * 100 / total;
  console.log(usage);
}, 500);