Node.js 获取每个 CPU 利用率的代码示例
要获取每个 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 著作权归作者所有。请勿转载和采集!