要获取系统的 CPU 详细信息并计算 60 秒内的利用率,你可以使用 'os' 模块和 'perf_hooks' 模块来完成。

首先,安装 '@types/node' 库,使得 TypeScript 可以正确地推断和使用 'os' 和 'perf_hooks' 模块。

npm install @types/node

然后,可以使用以下代码来获取系统的 CPU 详细信息并计算 60 秒内的利用率:

import os from 'os';
import { PerformanceObserver, performance } from 'perf_hooks';

// 获取系统的 CPU 信息
const cpuInfo = os.cpus();
const numCores = cpuInfo.length;

// 创建性能观察者
const obs = new PerformanceObserver((list) => {
  const entries = list.getEntries();
  const totalTime = entries.reduce((total, entry) => total + entry.duration, 0);
  const cpuUsage = totalTime / (60 * 1000 * numCores) * 100; // 利用率百分比
  console.log(`CPU 使用率: ${cpuUsage.toFixed(2)}%`);
});
obs.observe({ entryTypes: ['node'] });

// 开始性能测量
performance.mark('start');

// 模拟 CPU 密集型操作
for (let i = 0; i < 1000000000; i++) {
  // 一些计算操作
}

// 结束性能测量
performance.mark('end');
performance.measure('duration', 'start', 'end');

在上面的代码中,我们首先使用 os.cpus() 方法获取系统的 CPU 信息,并获取 CPU 核心数。然后,我们创建一个性能观察者,用于观察性能测量的结果。接下来,我们使用 performance.mark() 方法标记性能测量的开始和结束位置,并使用 performance.measure() 方法计算测量的时间间隔。最后,我们根据测量的时间间隔和 CPU 核心数计算 CPU 利用率,并将结果输出到控制台。

注意,上述代码中的 CPU 使用率是通过模拟 CPU 密集型操作来计算的。你可以根据实际需求替换为你自己的 CPU 密集型操作。

Node.js TypeScript 获取系统 CPU 详细信息并计算 60 秒利用率

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

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