如何使用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:显存相关数据(总、已用、剩余)
热门推荐
-60℃才是好防冻液?教你正确检测和选购
别克新英朗防冻液使用攻略:从选购到更换全指导
最新:加州山火已烧毁1万栋建筑,马斯克质疑气候变化说
中立表达助力心理咨询:建立信任与促进成长的关键
武康大楼PK纽约熨斗大厦:谁是建筑界的“女神”?
武康大楼:上海文旅新地标
从防尘到防虫:红木衣柜全面保养指南
双色球52万大奖引关注,专家提醒:中奖概率仅1/1772万需理性购彩
解放军重型合成旅应用碳纤维材料,装备实现轻量化突破
解放军重型合成旅:99A坦克领衔,信息化作战能力超越美军
护牙饮食指南:三类食物要多吃,三类食物要少吃
柏拉图:用理念论构建理想国,影响西方文明进程
四季养胃全攻略:从食材到食谱,详解春、夏、秋、冬养胃之道
国际护胃日:科学养胃的正确姿势
面条养胃,青少年必备小窍门
研究证实:纯燕麦片可降低心血管疾病风险30%
幻听患者的日常心理调适指南
苯溴马隆与阿司匹林:用药禁忌需谨记
武夷山野生红茶冲泡技巧全攻略:从水质到水温的完美把控
武夷红茶:冬季养生的温暖之选
九位古希腊哲学家:从泰勒斯到芝诺的思想演进
图解泥鳅性别鉴定:三种特征助你精准区分
自贡31届灯会将启:白蛇传主题灯组成最大亮点
“灯贺中华”:自贡第31届灯会17日开幕,夜场模式成亮点
自贡出发游成都:乐山大佛、峨眉山、锦里古街全攻略
黄芪大枣泡水:冬季养生的科学指南
李政:高考化学复习的引路人
北大学长王安疆&钟啸老师的高效化学备考秘籍
鬼谷子的智慧:人性的洞察
鬼谷子的智慧:人性的洞察