当前位置: 首页 > article >正文

如何获取,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. 接口信息

项目说明
请求 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.kler.cn/a/545730.html

相关文章:

  • 动态规划——路径问题②
  • QML使用ChartView绘制折线图
  • Hybrid Automatic Repeat Request (HARQ)
  • 计算机网络知识速记:HTTP/2.0与HTTP/1.1
  • 业务干挂数据库,Oracle内存分配不足
  • 缓存机制与 Redis 在高性能系统中的应用
  • 亚冬会绽放“云端”,联通云如何点亮冰城“科技之光”?
  • AI前端开发的风险与规避:ScriptEcho赋能高效安全开发
  • AI赋能前端性能优化:效率与体验的完美平衡
  • Jenkins 新建配置 Freestyle project 任务 六
  • 深入解析 PCIe 的 iATU(Internal Address Translation Unit)及其工作原理
  • 数据结构(考研)
  • 无人机 ,遥控器与接收机之前的通信
  • ChartDB:一个基于Web的可视化数据库设计工具
  • 香港服务器系统怎么查看端口是否开放?
  • Android网络框架——OKHttp
  • Android Studio设置增量build
  • 【C#】的WPF或是WinForm实现Ctrl+ 的快捷键组合使用
  • langchain学习笔记之小样本提示词Few-shot Prompt Template
  • 【04】区块链安全技术