簡體   English   中英

計算Node.js中的CPU使用率

[英]calculating cpu usage in nodejs

我正在嘗試計算運行我的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(cores[1].idle / _.sum(_.values(cores[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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM