如何使用OpenHardwareMonitorServer获取硬件监控信息
创作时间:
作者:
@小白创作中心
如何使用OpenHardwareMonitorServer获取硬件监控信息
引用
CSDN
1.
https://blog.csdn.net/qq_44684238/article/details/145589848
本文介绍了一个基于OpenHardwareMonitor的Web服务器工具——OpenHardwareMonitorServer,它可以帮助用户获取CPU、GPU、硬盘、网卡、内存等硬件的性能监控数据和温度传感器信息。
OpenHardwareMonitorServer简介
OpenHardwareMonitorServer是一个基于OpenHardwareMonitor的Web服务器,可以让任何语言都可以获取硬件信息和值。该程序没有UI界面,因此可以作为控制台程序使用。
参数说明
该程序的可用参数如下:
-p:指定WEB端口并开启服务器(默认8080)--console:以控制台Json格式返回硬件信息(默认false)--group:以群组格式返回硬件信息(默认true)--mainboard:启用主板监控(默认true)--cpu:启用CPU监控(默认true)--ram:启用内存监控(默认true)--gpu:启用GPU监控(默认true)--fan:启用风扇控制器监控(默认true)--hdd:启用硬盘监控(默认true)--network:启用网络监控(默认true)
JSON实体类
以下是Kotlin语言的JSON实体类定义:
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数据结构:
接口信息
- 请求URL:http://127.0.0.1:8080/
- 请求方式:HTTP GET
- 返回格式:JSON数据
JSON数据整体结构
Mainboard:主板信息CPU:CPU(中央处理器)信息RAM:内存(RAM)数据GpuNvidia:NVIDIA显卡信息HDD:硬盘(磁盘)信息
主板(Mainboard)数据结构
Name:主板名称(例如:Lenovo LNVNB161216)Identifier:设备唯一标识符(例如:/mainboard)HardwareType:硬件类型编号(0表示主板)Parent:父设备信息(主板一般无父设备)SubHardware:子硬件列表(目前为空数组)Sensors:传感器数据列表(目前为空数组)
CPU数据结构
CPU基本信息
Name:CPU名称(例如:AMD Ryzen 5 5600H)Identifier:设备标识符(例如:/amdcpu/0)HardwareType:硬件类型编号(2表示CPU)HasModelSpecificRegisters:是否支持特定寄存器HasTimeStampCounter:是否支持时间戳计数器TimeStampCounterFrequency:时间戳计数器频率(例如:3293.7214576025804)SubHardware:子硬件列表(目前为空数组)Sensors:CPU相关的传感器数据(包括负载、功率、温度、时钟等)
CPU传感器字段说明
SensorType:传感器类型编号(如1:时钟、2:温度、3:负载、9:功率)Identifier:传感器唯一标识符(例如:/amdcpu/0/load/1表示第1核负载)Name:传感器名称(例如:CPU Core #1)Index:传感器索引,用于区分同类传感器IsDefaultHidden:是否默认隐藏(前端显示时可依据此字段过滤)Value:当前传感器读数(例如:负载百分比、功率数值、温度等)Min:传感器最小可能值Max:传感器最大可能值Control:控制字段,目前一般为null,可用于未来扩展(如风扇控制等)
内存(RAM)数据结构
Name:内存名称(例如:Generic Memory)Identifier:设备标识符(例如:/ram)HardwareType:硬件类型编号(3表示内存)SubHardware:子硬件列表(目前为空数组)Sensors:内存传感器数据,包含负载、已使用内存和可用内存信息
内存传感器说明
内存负载:3,内存整体使用负载(百分比)Used Memory:10,已使用内存(数值,单位视情况而定)Available Memory:10,可用内存(数值,单位视情况而定)
NVIDIA显卡(GpuNvidia)数据结构
Name:显卡名称(例如:NVIDIA NVIDIA GeForce RTX 3050 Ti Laptop GPU)Identifier:设备标识符(例如:/nvidiagpu/0)HardwareType:硬件类型编号(4表示显卡)SubHardware:子硬件列表(目前为空数组)Sensors:显卡传感器数据,包含温度、核心时钟、显存频率、负载和显存使用信息
显卡传感器说明(部分)
GPU Core:2,GPU核心温度(摄氏度)GPU Core:1,GPU核心时钟频率(MHz)GPU Memory:1,GPU显存时钟频率(MHz)GPU Load:3,GPU负载(百分比)GPU Memory:11,显存使用数据(总、已用、剩余)
硬盘(HDD)数据结构
Name:硬盘名称(例如:Generic Hard Disk)Identifier:设备标识符(例如:/hdd/0、/hdd/1等)HardwareType:硬件类型编号(8表示硬盘)SubHardware:子硬件列表(目前为空数组)Sensors:硬盘传感器数据,主要关注磁盘已使用空间百分比信息
硬盘传感器说明
Used Space:3,硬盘已使用空间百分比
传感器类型对应说明
1:时钟频率(单位:MHz)2:温度(单位:摄氏度)3:负载或使用率(百分比)9:功率(单位:瓦特)10:内存相关数据(内存使用情况)11:显存相关数据(总、已用、剩余)
热门推荐
步数、心率、热量......运动手环是怎么知道的?
化学实验常用到的碎瓷片,为什么能防止暴沸?
图解左右手不同手指戴戒指的意义(戒指戴法与含义)
黄金投资指南:如何实时追踪黄金价格
我们可以用地球自身的磁场来发电吗?原来早就有人试过了
术后白细胞高是怎么回事
秦岭-淮河线的重要性与地理气候影响
肝功能异常后的检查与注意事项
深度解析:青春期孩子抑郁与学业动力缺失的原因与对策
物流运输合同诉讼时效研究
婚后女人如何经营幸福婚姻(从沟通到包容)
边狱巴士罪人logo汇总
惊险!5岁儿童火场逃生!安全教育太关键→
手机号码信息泄露怎么处理
德国经济增长受限,债务制约改革受关注,欧元兑美元走势或受波动
为什么不鼓励富人消费?反而刺激老百姓消费?
了解限行尾号,合理规划出行,保护环境与交通安全的双重目标
金属表面处理技术:发黑与发蓝工艺详解
UCL喜讯 | 2025QS可持续发展大学排名:UCL全英第一!
吃了红霉素可以喝酒吗?
氯离子对COD测定和消除方法有什么影响?
实用VBA:使用Excel批量套模板,一键输出多个工作表
智能机器人客服系统可以支持哪些渠道接入?
配音师的专业培训途径及零基础学习指南
台州出发自驾游云南全景攻略:路线规划、景点推荐与旅行必备指南
人工智能训练师的未来:前景广阔,机遇无限!
婚姻中的共同成长:如何平衡个人空间与持续努力
想要开发一款即时战略游戏,需要学习哪些知识或技能
1Cr17Ni2不锈钢材质详解:化学成分、性能与工艺规范
公司企业的设立的概念与设立方式