可通过系统API如Linux的/proc/stat或Python的psutil库获取CPU使用率、温度等实时
通过API获取CPU信息的详细指南
操作系统原生API获取方法
Windows系统
方法:WMI(Windows Management Instrumentation)
工具 | 命令示例 |
PowerShell | Get-WmiObject -Class Win32_Processor | CPU型号、核心数、频率等 |
C# | System.Management.ManagementObjectSearcher | 同上,需引用System.Management命名空间 |
示例代码(PowerShell):
$cpu = Get-WmiObject -Class Win32_Processor
$cpu | Select-Object Name,NumberOfCores,MaxClockSpeed
Linux系统
方法:读取/proc/cpuinfo文件
工具 | 命令示例 |
Shell | cat /proc/cpuinfo | 完整CPU信息(多核会重复显示) |
Python | open('/proc/cpuinfo').read() | 同上,需解析文本内容 |
示例代码(Python):
with open('/proc/cpuinfo') as f:
info = f.read()
print(info) # 包含model name、cores、bogomips等字段
macOS系统
方法:system_profiler命令
工具 | 命令示例 |
Terminal | system_profiler SPHardwareDataType | CPU型号、速度、缓存等信息 |
Swift | Process().launched() 结合SPHardwareDataType | 同上,需调用系统命令 |
示例代码(Terminal):
system_profiler SPHardwareDataType | grep "Processor"
跨平台解决方案
Python psutil库
功能 | 方法名 | 返回值类型 |
CPU物理核心数 | psutil.cpu_count(logical=False) | int |
CPU频率 | psutil.cpu_freq()._asdict() | dict(含max/min/current) |
型号信息 | 需结合platform 或subprocess | string |
示例代码:
import psutil
print("逻辑核心数:", psutil.cpu_count())
print("物理核心数:", psutil.cpu_count(logical=False))
print("频率信息:", psutil.cpu_freq()._asdict())
Node.os-utils库
功能 | 方法名 | 特点 |
CPU负载 | osu.cpu.usage() | 返回百分比数组(每核) |
型号检测 | 需结合os 模块 | 依赖系统命令 |
示例代码(JavaScript):
const osu = require('os-utils');
osu.cpu.usage().then(info => {
console.log('CPU负载:', info); // [12.3, 15.6, ...]
});
API对比表格
维度 | Windows WMI | Linux /proc/cpuinfo | Python psutil |
平台支持 | Windows专属 | Linux专属 | 跨平台 |
安装依赖 | 系统内置 | 系统内置 | 需安装库(pip install psutil ) |
核心信息获取难度 | ★★☆(需WMI查询) | ★★★(需文本解析) | ★☆(直接API调用) |
实时监控能力 | 支持 | 支持(需定时读取) | 支持 |
常见问题与解答
Q1: 如何实现跨平台的CPU使用率实时监控?
A: 推荐使用Python的psutil
库,其cpu_percent(interval=1)
方法可设置采样间隔,配合多线程可实现实时监控,示例:

import psutil
while True:
print("CPU使用率: %.2f%%" % psutil.cpu_percent(interval=1))
Q2: 不同系统获取的CPU型号格式不一致怎么办?
A: 建议统一处理为标准化格式:

- Windows/Linux:提取
cpuinfo
中的model name
字段 - macOS:提取
system_profiler
输出的”Processor”行 - 最终统一为
{family} {model} @ {frequency}GHz
格式,Intel Core i7-9700K @ 3
以上内容就是解答有关“api 获取cpu”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复