所以大家这是我的代码:
import os from "os";
import process from "process";
export const getCpuInfo = () => {
const cpuUsage = process.cpuUsage();
const totalCpuUsage = cpuUsage.user + cpuUsage.system;
const numCPUs = os.cpus().length;
// Calculate the total CPU time in seconds
const totalCpuTime = process.uptime();
// Calculate the CPU usage percentage
const cpuUsagePercentage = (totalCpuUsage / (totalCpuTime * 1e6)) * 100;
let modelName;
let modelSpeed;
let displayed = false;
os.cpus().forEach(cpu => {
if (displayed) return;
modelName = cpu.model;
modelSpeed = cpu.speed;
return displayed = true;
})
return {
cpuSpeed: formatHertz(modelSpeed),
cpuModel: modelName,
cpuCores: numCPUs,
cpuParallelism: os.availableParallelism(),
cpuUsage: cpuUsagePercentage.toFixed(2) // Format as a percentage with 2 decimal places
}
}
function formatHertz(megaHertz) {
try {
let hertz = Number(megaHertz);
let Ghz = hertz / 1000;
return `${Ghz.toFixed(2)} Ghz`; // Round to 2 decimal places
} catch (err) {
return err;
}
}
function convertNumberFormat(number) {
const megahertz = number / 1e6; // Convert to megahertz
return megahertz.toFixed(2); // Return with 2 decimal places
}
但是我实际上无法获取CPU使用率
我尝试使用第三方库,但它们没有按我想要的方式工作。
我希望CPU使用率百分比以如下格式显示:22.23%
任何人都可以帮我解决上面的代码吗?
顺便说一句我正在使用Windows
提前致谢
方法 os.availableParallelism():根据您使用的 Node.js 版本,函数 os.availableParallelism() 可能不存在。如果它导致问题,您可以将其替换为 os.cpus().length