要计算每个 CPU 的利用率,您可以使用 Node.js 的 'os' 模块和 'perf_hooks' 模块。以下是一个示例代码,可以获取每个 CPU 的利用率:

const os = require('os');
const { PerformanceObserver, performance } = require('perf_hooks');

// 获取 CPU 核心数量
const cpuCount = os.cpus().length;

// 创建 PerformanceObserver 对象,用于观察性能指标
const obs = new PerformanceObserver((list) => {
  const entries = list.getEntries();
  
  // 遍历每个 CPU 核心的性能指标
  entries.forEach((entry, index) => {
    const cpuUsage = entry.idle / entry.total; // 利用率 = 空闲时间 / 总时间
    console.log(`CPU ${index + 1} 利用率: ${(1 - cpuUsage) * 100}%`);
  });
});

// 监听 performance 事件
obs.observe({ entryTypes: ['performance'] });

// 每秒获取一次性能指标
setInterval(() => {
  performance.mark('A');
  setTimeout(() => {
    performance.mark('B');
    performance.measure('A to B', 'A', 'B');
  }, 100);
}, 1000);

这段代码将每个 CPU 的利用率打印到控制台。它使用 PerformanceObserver 来观察性能指标,并计算每个 CPU 的利用率。在每秒钟的间隔中,它测量从 'A' 到 'B' 的时间间隔,然后计算利用率。

请注意,这是一个近似值,因为它只测量了从 'A' 到 'B' 的时间间隔,并假设这段时间内 CPU 一直是忙碌的。在实际情况下,可能会有其他任务导致 CPU 不是 100% 忙碌的。

Node.js 获取每个 CPU 利用率:详细教程和代码示例

原文地址: https://www.cveoy.top/t/topic/bAGx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录