如何使用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
:显存相关数据(总、已用、剩余)
热门推荐
二战席卷了半个世界,另外半个世界的国家,都在干些什么呢?
炎热清片VS蒲地蓝消炎片,该如何选择
如何量化机器学习中不确定性
山东学位英语缺考的影响分析
补血养血第一方——四物汤
女性题材美剧分析(下):双女主与女侦探
高僧鸠摩罗什:佛教翻译家的尘世情缘与后代
罗嘉良畅享City Walk:北京定居13年品味城市魅力
4000元预算下如何挑选性能更出色的笔记本电脑?
伊春公积金贷款指南:材料、流程及办理时限详解
病毒性肝炎的主要治疗方法
灵芝:古老仙草的现代健康启示
企业贷逾期了可以慢慢还吗
浙大断层式领先,浙工大第2,浙师大第4,2024浙江高校排行榜出炉
印尼市场本土化,中国企业的深度市场洞察与品牌成长策略
固态电池越来越近,续航大增还安全,但这些缺点你能接受吗?
鬼谷子的智慧箴言:洞察人心、掌握先机的策略艺术
鬼谷子的智慧:說服的藝術
如何判断你的猫咪健康状况(掌握这些关键指标)
什么是破产清算的债务豁免
立春后,苹果和“姜”是绝配,一周喝3次,很多人还不知道有啥用
聊天时,让话题越来越开阔,有绝招儿
历年人民币对日元汇率走势:从1978年至今的演变历程
上班期间被他人故意伤害算工伤吗
提高服务器带宽利用率的有效策略
肚子右边疼是什么器官疾病
用嗓打工人不想“失声”?保护嗓子的窍门送给你!
如何做好销售成交率管理
法律形态是什么?一文读懂法律规范的结构与表现形式
颈椎病的严重程度如何判断