如何获取,CPU,GPU,硬盘,网卡,内存等硬件性能监控与各项温度传感器
首先需要下载 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. 接口信息
| 项目 | 说明 |
|---|---|
| 请求 URL | http://127.0.0.1:8080/ |
| 请求方式 | HTTP GET |
| 返回格式 | JSON 数据 |
2. JSON 数据整体结构
| 顶层键 | 描述 |
|---|---|
| Mainboard | 主板信息 |
| CPU | CPU(中央处理器)信息 |
| RAM | 内存(RAM)数据 |
| GpuNvidia | NVIDIA 显卡信息 |
| HDD | 硬盘(磁盘)信息 |
3. 主板(Mainboard)数据结构
| 字段 | 类型 | 说明 |
|---|---|---|
| Name | 字符串 | 主板名称(例如:Lenovo LNVNB161216) |
| Identifier | 字符串 | 设备唯一标识符(例如:/mainboard) |
| HardwareType | 数字 | 硬件类型编号(0 表示主板) |
| Parent | null | 父设备信息(主板一般无父设备) |
| 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 Memory | 10 | 已使用内存(数值,单位视情况而定) |
| Available Memory | 10 | 可用内存(数值,单位视情况而定) |
6. NVIDIA 显卡(GpuNvidia)数据结构
| 字段 | 类型 | 说明 |
|---|---|---|
| Name | 字符串 | 显卡名称(例如:NVIDIA NVIDIA GeForce RTX 3050 Ti Laptop GPU) |
| Identifier | 字符串 | 设备标识符(例如:/nvidiagpu/0) |
| HardwareType | 数字 | 硬件类型编号(4 表示显卡) |
| SubHardware | 数组 | 子硬件列表(目前为空数组) |
| Sensors | 数组 | 显卡传感器数据,包含温度、核心时钟、显存频率、负载和显存使用信息 |
显卡传感器说明(部分)
| 传感器字段 | SensorType 数值 | 说明 |
|---|---|---|
| GPU Core | 2 | GPU 核心温度(摄氏度) |
| GPU Core | 1 | GPU 核心时钟频率(MHz) |
| GPU Memory | 1 | GPU 显存时钟频率(MHz) |
| GPU Load | 3 | GPU 负载(百分比) |
| GPU Memory | 11 | 显存使用数据(总、已用、剩余) |
7. 硬盘(HDD)数据结构
| 字段 | 类型 | 说明 |
|---|---|---|
| Name | 字符串 | 硬盘名称(例如:Generic Hard Disk) |
| Identifier | 字符串 | 设备标识符(例如:/hdd/0、/hdd/1 等) |
| HardwareType | 数字 | 硬件类型编号(8 表示硬盘) |
| SubHardware | 数组 | 子硬件列表(目前为空数组) |
| Sensors | 数组 | 硬盘传感器数据,主要关注磁盘已使用空间百分比信息 |
硬盘传感器说明
| 传感器字段 | SensorType 数值 | 说明 |
|---|---|---|
| Used Space | 3 | 硬盘已使用空间百分比 |
8. 传感器类型对应说明
| SensorType 数值 | 描述说明 |
|---|---|
| 1 | 时钟频率(单位:MHz) |
| 2 | 温度(单位:摄氏度) |
| 3 | 负载或使用率(百分比) |
| 9 | 功率(单位:瓦特) |
| 10 | 内存相关数据(内存使用情况) |
| 11 | 显存相关数据(总、已用、剩余) |
相关文章:
如何获取,CPU,GPU,硬盘,网卡,内存等硬件性能监控与各项温度传感器
首先需要下载 OpenHardwareMonitorServer 这是一个基于OpenHardwareMonitor 的 Web 服务器。可以让任何语言都可以获取硬件信息和值,OpenHardwareMonitorServer 是没有UI界面的因此它可以当成控制台程序使用。 该程序可用参数如下 参数:需要管理员权限…...
4. React 中的 CSS
用例中的干净的脚手架的创建可以参考另一篇文章:3.React 组件化开发React官方并没有给出在React中统一的样式风格: 由此,从普通的css,到css modules,再到css in js,有几十种不同的解决方案,上百…...
【工业安全】-CVE-2019-17621-D-Link Dir-859L 路由器远程代码执行漏洞
文章目录 1.漏洞描述 2.环境搭建 3.漏洞复现 4.漏洞分析 4.1:代码分析 4.2:流量分析 5.poc代码: 1.漏洞描述 漏洞编号:CVE-2019-17621 漏洞名称:D-Link DIR-859 命令注入漏洞 威胁等级:严重 漏洞详…...
FastExcel + Java:打造高效灵活的Excel数据导入导出解决方案
作者:后端小肥肠 🍇 我写过的文章中的相关代码放到了gitee,地址:xfc-fdw-cloud: 公共解决方案 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 姊妹篇: 基于AOP的数据字典实现…...
fun-transformer学习笔记-Task1——Transformer、Seq2Seq、Encoder-Decoder、Attention之间的关系
Transformer、Seq2Seq、Encoder-Decoder、Attention由这四者之间的关系可以从模型架构的发展脉络来理解: Seq2Seq 与 Encoder–Decoder 模型 “Seq2Seq”(sequence‐to‐sequence)是一类用于将一个变长序列映射为另一个变长序列的任务&#x…...
使用Hexo部署NexT主体网站
一.使用git提交文件 参考: 从零开始搭建个人博客(超详细) - 知乎 致谢! 第一种:本地没有 git 仓库 直接将远程仓库 clone 到本地;将文件添加并 commit 到本地仓库;将本地仓库的内容push到远程仓…...
图书管理项目(spring boot + Vue)
想要该项目的话,就 jia 我,并在评论区给我说一下,只需要1元,我把整个项目发给你 jia微:18439421203(名字叫:Bingo) 运行图片:...
python实现常见数学概率分布
常见正态分布 1.贝塔分布1.1 概率密度函数1.2参数对分布形状的影响1.3 应用场景1.4 python实现 2. 帕累托分布(80/20法则)3. 正态分布(高斯分布)3.1 正态分布对应性质3.2 正态分布对应图像实现的完整项目示例,包含权限控制、数据加载状态处理、性能优化等常见高级功能。创建一个简单的博客系统: // 项目结构: src/ |-- components/ | |-- ArticleList.jsx | |-- Article.jsx | |-- He…...
基于Qt 和微信小程序的用户管理系统:WebSocket + SQLite 实现注册与登录
目录 一. 概要 二. 技术栈 三. 系统功能设计 3.1 功能模块 3.2 数据表设计 四. 具体实现 4.1 Qt 服务端 4.1.1 初始化 WebSocket 服务器 4.1.2 用户管理界面 4.2 微信小程序端 4.2.1 注册功能 4.2.2 登录功能 五. 运行效果 六. 源码下载 一. 概要 在物联网和智能设备…...
在CT107D单片机综合训练平台上实现外部中断控制LED闪烁
引言 在单片机开发中,外部中断是一个非常重要的功能,它可以让单片机在检测到外部信号变化时立即做出响应。本文将详细介绍如何在CT107D单片机综合训练平台上使用外部中断来控制LED灯的闪烁。我们将使用两种不同的方式来实现这一功能:一种是在…...
HTML之JavaScript使用JSON
HTML之JavaScript使用JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是JavaScript对象的字符串表示法,它使用文本表示一个js对象的信息,可以将json字符串转换…...
算法很美笔记(Java)——树
性质 树 上面的性质因为两个结点由一条边连成 结点数目越多,算法复杂度越高 二叉树 结构 层次遍历 利用队列,弹一个,加N个(队列里弹出一个元素,就把这个元素的所有孩子加进去) 具体来说:指…...
SQL面试题4:相互关注问题
引言 在社交媒体和各类社区平台蓬勃发展的当下,用户之间的关系网络成为了平台运营和数据分析的关键部分。相互关注作为一种重要的社交关系,不仅反映了用户之间的紧密程度,还对平台的社交生态、内容传播等方面有着深远影响。本文将聚焦于 SQL…...
ArcGIS基础知识之ArcMap基础设置——ArcMap选项:常规选项卡设置及作用
作为一名 GIS 从业者,ArcMap 是我们日常工作中不可或缺的工具。对于初学者来说,掌握 ArcMap 的基础设置是迈向 GIS 分析与制图的第一步。今天,就让我们一起深入了解 ArcMap 选项中常规选项卡的各个设置,帮助大家更好地使用这款强大的软件。 在 ArcMap 中,常规选项卡是用户…...
jvm 线程监控调试
文章目录 前言一、使用JDK工具转储线程文件(如jstack)1. 找到Java进程的PID:2. 使用jstack生成线程转储文件:3.验证生成的线程转储文件:二、分析文件1.使用在线工具进行分析上传thread-dump文件,等待解析完成2.查看分析结果总结前言 提示:使用jdk自带工具转储线程监控文…...
25、深度学习-自学之路-卷积神经网络基于MNIST数据集的程序展示
import keras #添加Keraskuimport sys,numpy as np from keras.utils import np_utilsimport osfrom keras.datasets import mnist print("licheng:""20"\n) np.random.seed(1)(x_train,y_train),(x_test,y_test) mnist.load_data() #第一次…...
【C++】解锁<list>的正确姿势
> 🍃 本系列为初阶C的内容,如果感兴趣,欢迎订阅🚩 > 🎊个人主页:[小编的个人主页])小编的个人主页 > 🎀 🎉欢迎大家点赞👍收藏⭐文章 > ✌️ 🤞 …...
Qt中的事件
写一个 可以拖动的按钮 DraggablePushButton.h 头文件 #ifndef DRAGGABLEPUSHBUTTON_H #define DRAGGABLEPUSHBUTTON_H#include <QPushButton> #include <QMouseEvent>class DraggablePushButton : public QPushButton {Q_OBJECTpublic:explicit DraggablePushBu…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
