如何获取,CPU,GPU,硬盘,网卡,内存等硬件性能监控与各项温度传感器

news/2025/2/13 17:59:40/

首先需要下载 OpenHardwareMonitorServer 这是一个基于OpenHardwareMonitor 的 Web 服务器。可以让任何语言都可以获取硬件信息和值,OpenHardwareMonitorServer 是没有UI界面的因此它可以当成控制台程序使用。
在这里插入图片描述

该程序可用参数如下

参数:需要管理员权限
-p 指定WEB端口并开启服务器(默认8080)
–console 以控制台Json格式返回硬件信息与WEB方式冲突(默认false)
–group 以群组格式返回硬件信息(默认true)
–mainboard 启用主板监控 (默认true)
–cpu 启用CPU监控 (默认true)
–ram 启用内存监控 (默认true)
–gpu 启用GPU监控 (默认true)
–fan 启用风扇控制器监控 (默认true)
–hdd 启用硬盘监控 (默认true)
–network 启用网络监控 (默认true)

解析JSON 实体类
Kotlin:

data class ExampleGenerate (val mainboard: List<Hardware>,val cpu: List<Hardware>,val ram: List<Hardware>,val gpuNvidia: List<Hardware>,val network: List<Hardware>,val hdd: List<Hardware>
)data class Hardware (val hardwareType: Long,val hasModelSpecificRegisters: Boolean?,val hasTimeStampCounter: Boolean?,val timeStampCounterFrequency: Double?,val subHardware: List<Any?>,val parent: Any? = null,val sensors: List<Sensor>,val name: String,val identifier: String,
)data class Sensor (val sensorType: Long,val identifier: String,val name: String,val index: Long,val isDefaultHidden: Boolean,val value: Double,val min: Double,val max: Double,val control: Any? = null
)

它可以获取的硬件信息如下:

这份JSON接口文档是过时的仅作为参考

1. 接口信息

项目说明
请求 URLhttp://127.0.0.1:8080/
请求方式HTTP GET
返回格式JSON 数据

2. JSON 数据整体结构

顶层键描述
Mainboard主板信息
CPUCPU(中央处理器)信息
RAM内存(RAM)数据
GpuNvidiaNVIDIA 显卡信息
HDD硬盘(磁盘)信息

3. 主板(Mainboard)数据结构

字段类型说明
Name字符串主板名称(例如:Lenovo LNVNB161216)
Identifier字符串设备唯一标识符(例如:/mainboard)
HardwareType数字硬件类型编号(0 表示主板)
Parentnull父设备信息(主板一般无父设备)
SubHardware数组子硬件列表(目前为空数组)
Sensors数组传感器数据列表(目前为空数组)

4. CPU 数据结构

4.1 CPU 基本信息

字段类型说明
Name字符串CPU 名称(例如:AMD Ryzen 5 5600H)
Identifier字符串设备标识符(例如:/amdcpu/0)
HardwareType数字硬件类型编号(2 表示 CPU)
HasModelSpecificRegisters布尔是否支持特定寄存器
HasTimeStampCounter布尔是否支持时间戳计数器
TimeStampCounterFrequency数值时间戳计数器频率(例如:3293.7214576025804)
SubHardware数组子硬件列表(目前为空数组)
Sensors数组CPU 相关的传感器数据(包括负载、功率、温度、时钟等)

4.2 CPU 传感器字段说明

字段类型说明
SensorType数字传感器类型编号(如 1:时钟、2:温度、3:负载、9:功率)
Identifier字符串传感器唯一标识符(例如:/amdcpu/0/load/1 表示第 1 核负载)
Name字符串传感器名称(例如:CPU Core #1)
Index数值传感器索引,用于区分同类传感器
IsDefaultHidden布尔是否默认隐藏(前端显示时可依据此字段过滤)
Value数值当前传感器读数(例如:负载百分比、功率数值、温度等)
Min数值传感器最小可能值
Max数值传感器最大可能值
Control任意控制字段,目前一般为 null,可用于未来扩展(如风扇控制等)

5. 内存(RAM)数据结构

字段类型说明
Name字符串内存名称(例如:Generic Memory)
Identifier字符串设备标识符(例如:/ram)
HardwareType数字硬件类型编号(3 表示内存)
SubHardware数组子硬件列表(目前为空数组)
Sensors数组内存传感器数据,包含负载、已使用内存和可用内存信息

内存传感器说明

传感器字段SensorType 数值说明
内存负载3内存整体使用负载(百分比)
Used Memory10已使用内存(数值,单位视情况而定)
Available Memory10可用内存(数值,单位视情况而定)

6. NVIDIA 显卡(GpuNvidia)数据结构

字段类型说明
Name字符串显卡名称(例如:NVIDIA NVIDIA GeForce RTX 3050 Ti Laptop GPU)
Identifier字符串设备标识符(例如:/nvidiagpu/0)
HardwareType数字硬件类型编号(4 表示显卡)
SubHardware数组子硬件列表(目前为空数组)
Sensors数组显卡传感器数据,包含温度、核心时钟、显存频率、负载和显存使用信息

显卡传感器说明(部分)

传感器字段SensorType 数值说明
GPU Core2GPU 核心温度(摄氏度)
GPU Core1GPU 核心时钟频率(MHz)
GPU Memory1GPU 显存时钟频率(MHz)
GPU Load3GPU 负载(百分比)
GPU Memory11显存使用数据(总、已用、剩余)

7. 硬盘(HDD)数据结构

字段类型说明
Name字符串硬盘名称(例如:Generic Hard Disk)
Identifier字符串设备标识符(例如:/hdd/0、/hdd/1 等)
HardwareType数字硬件类型编号(8 表示硬盘)
SubHardware数组子硬件列表(目前为空数组)
Sensors数组硬盘传感器数据,主要关注磁盘已使用空间百分比信息

硬盘传感器说明

传感器字段SensorType 数值说明
Used Space3硬盘已使用空间百分比

8. 传感器类型对应说明

SensorType 数值描述说明
1时钟频率(单位:MHz)
2温度(单位:摄氏度)
3负载或使用率(百分比)
9功率(单位:瓦特)
10内存相关数据(内存使用情况)
11显存相关数据(总、已用、剩余)

http://www.ppmy.cn/news/1571764.html

相关文章

SQLMesh系列教程-2:SQLMesh入门项目实战(下篇)

上篇我介绍了环境搭建、duckdb数据准备、sqlmesh数据模型、plan命令运行。本文继续介绍审计、测试、生成血缘关系以及python模型等。 有两种方法可以在SQLMesh中创建宏。一种方法是使用Python&#xff0c;另一种方法是使用Jinja。这里我们创建Python宏。让我们构建简单的Python…

使用 Express 写接口

在现代 Web 开发中&#xff0c;构建高效的 RESTful API 是非常重要的。Node.js 和其上的 Express 框架为开发者提供了一种简便而强大的方式来创建这些接口。本文将详细介绍如何使用 Express 来编写和部署一个简单的 RESTful API&#xff0c;涵盖从安装到实现增删改查&#xff0…

【ESP32】ESP-IDF开发 | WiFi开发 | HTTP服务器

1. 简介 1.1 HTTP HTTP&#xff08;Hyper Text Transfer Protocol&#xff09;&#xff0c;全称超文本传输协议&#xff0c;用于从网络服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效&#xff0c;使网络传输减少。它不仅保证计算机正确快速地传输超文本文档…

腾讯云HAI部署DeepSeek结合Ollama API搭建智能对话系统

前言 本文将详细介绍如何在腾讯云HAI平台上部署DeepSeek模型&#xff0c;并配置使用Ollama API服务以实现对外部请求的支持。通过对前期准备、部署流程、API服务配置及使用的详细阐述&#xff0c;希望能为读者提供一个全面且实用的指南&#xff0c;助力AI应用的高效开发和部署…

如何从0开始将vscode源码编译、运行、打包桌面APP

** 网上关于此的内容很少&#xff0c;今天第二次的完整运行了&#xff0c;按照下文的顺序走不会出什么问题。最重要的就是环境的安装&#xff0c;否则极其容易报错&#xff0c;请参考我的依赖版本以及文末附上的vscode官方指南 ** 第一步&#xff1a;克隆 VSCode 源码 首先…

使用Python爬虫获取1688 App原数据API接口

一、引言 在电商领域&#xff0c;数据是企业决策、市场分析和产品优化的关键要素。1688作为国内领先的B2B电商平台&#xff0c;汇聚了海量的商品信息和交易数据。通过获取1688 App的原数据API接口&#xff0c;企业可以精准把握市场动态&#xff0c;了解竞争对手的策略&#xf…

smart代理VSwebshare哪家http代理商的IP代理综合质量由于911代理?

在选择HTTP代理商时&#xff0c;综合考虑其IP代理的质量至关重要&#xff0c;本文将比较Smart代理与Webshare两家HTTP代理商在多个方面优于911代理&#xff0c;并解释为何需要进行这种代理商之间的对比。 如何考核一家HTTP代理商的IP代理综合质量&#xff1f; 为了评估一家HTT…

ASP.NET Core SignalR的分布式部署

假设聊天室程序被部署在两台服务器上&#xff0c;客户端1、2连接到了服务器A上的ChatRoomHub&#xff0c;客户端3、4连接到服务器B上的ChatRoomHub&#xff0c;那么客户端1发送群聊消息时&#xff0c;只有客户端1、2能够收到&#xff0c;客户端3、4收不到&#xff1b;在客户端3…