Node.js 获取每个 CPU 利用率:详细教程和代码示例
要计算每个 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% 忙碌的。
原文地址: https://www.cveoy.top/t/topic/bAGx 著作权归作者所有。请勿转载和采集!