要获取每个 CPU 的利用率,您可以使用 os.cpus() 方法获取系统中所有 CPU 的信息,然后使用 os.totalmem()os.freemem() 方法获取系统的总内存和可用内存。通过比较两个时间点的 CPU 时间和内存使用情况,您可以计算出每个 CPU 的利用率。

以下是一个示例代码,可以获取每个 CPU 的利用率:

const os = require('os');

// 获取系统中所有 CPU 的信息
const cpus = os.cpus();

// 获取系统的总内存和可用内存
const totalMemory = os.totalmem();
const freeMemory = os.freemem();

// 计算每个 CPU 的利用率
const cpuUsage = cpus.map(cpu => {
  const startUsage = cpu.times.user + cpu.times.nice + cpu.times.sys;
  const startIdle = cpu.times.idle;

  // 等待 1 秒
  return new Promise(resolve => setTimeout(resolve, 1000))
    .then(() => {
      const endUsage = cpu.times.user + cpu.times.nice + cpu.times.sys;
      const endIdle = cpu.times.idle;

      const totalUsage = endUsage - startUsage;
      const totalIdle = endIdle - startIdle;

      const usagePercent = (totalUsage / (totalUsage + totalIdle)) * 100;
      return usagePercent.toFixed(2);
    });
});

// 打印每个 CPU 的利用率
Promise.all(cpuUsage)
  .then(usage => {
    usage.forEach((percent, index) => {
      console.log(`CPU ${index + 1} 利用率: ${percent}%`);
    });
  })
  .catch(error => console.error(error));

这个示例代码获取系统中所有 CPU 的信息,并使用 setTimeout 延迟 1 秒来获取 CPU 时间。然后,它计算每个 CPU 的利用率,并打印出来。

请注意,这个示例代码可能会有一些误差,因为在获取 CPU 时间时可能会有一些不准确性。但是,它可以给您一个大致的每个 CPU 的利用率。


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

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