LibreHardwareMonitor 硬件监控上手指南:三步跑通源码到远程查看
【免费下载链接】LibreHardwareMonitorLibre Hardware Monitor is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer.项目地址: https://gitcode.com/GitHub_Trending/li/LibreHardwareMonitor
渲染到一半机器突然很烫,您却不知道是哪块部件在发烫。LibreHardwareMonitor是开源的硬件监控软件,能实时读出 CPU、GPU、主板的温度、风扇转速、电压、负载与时钟,还自带 Web 服务提供远程接口。本文带您三步跑通首屏数据,再学会从浏览器远程查看,最后把类库嵌进自己的程序。
🎯 两个入口,一套内核:桌面 GUI 与可调用的类库
只想看读数,就编译桌面应用;想在自己的程序里读数据,就直接用类库。两者共享同一套硬件读取内核。
这个项目接自经典的 Open Hardware Monitor,采用 MPL 2.0 协议发布,没有功能阉割,也没有隐藏费用。拿到源码后,您可以自由修改、再分发,也可以把它嵌进自己的工具。它覆盖的读取对象包括主板、Intel 与 AMD 处理器、NVIDIA/AMD/Intel 显卡、HDD/SSD/NVMe 存储和网卡,温度、电压、转速、负载、时钟都能读到。
两种形态分工明确:
- 桌面 GUI:基于 Windows Forms,把全部传感器数值按硬件树逐层展开,开箱即可用
- LibreHardwareMonitorLib:.NET 类库,目标平台含 .NET Standard 2.0、.NET 8.0/9.0/10.0 与 .NET Framework 4.7.2,另提供 Linux x64/ARM64 构建目标
桌面应用是体验 LibreHardwareMonitor 硬件监控能力最直接的入口。无论您是顺手查温的普通用户、边玩边盯散热的玩家、渲染时关注功耗的创作者,还是要把传感器数据嵌进自己工具的开发者,都能从这里起步。
⌨️ 编译、提权、勾选:三步跑出首屏硬件数据
编译、以管理员运行、勾选硬件项,三步走完,不依赖任何第三方插件。先把源码拉到本机,下面这条命令会把仓库保存进当前目录:
git clone https://gitcode.com/GitHub_Trending/li/LibreHardwareMonitor- 用 Visual Studio 打开根目录的LibreHardwareMonitor.sln,选好目标框架后编译
- 以管理员身份运行主程序,大量传感器依赖特权访问
- 在菜单中勾选要监控的硬件项,例如 CPU、GPU、主板
跑起来后数据自动刷新,默认间隔 1 秒。菜单里可以把间隔调到 250 毫秒~10 秒,只关心个别指标时取消其余项,采集开销和界面都会清爽不少。
想回看某次负载下的表现,就在菜单勾选日志记录,间隔从 1 秒到 6 小时可选。关键指标还能弹出桌面小工具或放到系统托盘,写代码时不切窗口也能瞄一眼温度。
📡 远程监控:端口 8085 的 Web 服务从浏览器直接看
在 Web 菜单勾上Run,本机硬件状态就能被局域网里任何一台带浏览器的设备打开。
菜单栏 Web 分组中勾选Run,内置 HTTP 服务开始监听,默认端口8085。想用别的地址或端口,进Interface / Port自己指定;打开Authentication则启用账号登录校验,避免同网段的陌生人直接看到数据。
启动后在浏览器输入http://localhost:8085,就是和桌面端一样的树状监控界面。页面从data.json接口实时取数,您若要做自动化,也可以直接请求http://localhost:8085/data.json这类 REST 接口。
远程管理多台服务器,或者在手机上瞄一眼温度,这比 SSH 进去敲命令直观得多。Web 页面源码内嵌在 LibreHardwareMonitor.Windows.Forms/Resources/Web/,仓库里 TestScripts/ 还放好了请求示例脚本,照抄即可。
🧩 开发者向:几行 C# 把传感器数据拉进自己的程序
集成路径固定:设开关、Open、遍历。想采集哪些设备,增减Is*Enabled开关就能控制。
先给项目添加 NuGet 包 LibreHardwareMonitorLib,然后按这个套路写:
var computer = new Computer { IsCpuEnabled = true, IsGpuEnabled = true, IsMemoryEnabled = true }; computer.Open(); computer.Accept(new UpdateVisitor()); foreach (IHardware hw in computer.Hardware) foreach (ISensor s in hw.Sensors) Console.WriteLine($"{s.Name}: {s.Value}");UpdateVisitor是实现了IVisitor的访问者类,遍历时逐个刷新硬件,完整实现见 README 里的示例代码。读完记得调用computer.Close()。
README 还特别提醒:部分传感器需要管理员权限。开发时可以把 IDE 以管理员方式启动,或在项目里加一份app.manifest声明requireAdministrator。
🛠️ 三个高发问题与运行时环境
卡住的地方大多不超出三类:传感器不显示、Web 打不开、刷新慢。对一下权限、端口和间隔,基本都能解决。
传感器不显示或读数为空:先以管理员身份重跑,这是最常见的原因;再更新主板芯片组与显卡驱动后重试。小众板卡可能需要额外适配,先确认您的主板型号是否已在支持列表中。
Web 界面打不开:先确认Run真的勾上了,服务才会开始监听;再看 8085 端口是否被别的程序占用,占用了就换端口。
数据刷新不及时:把菜单里的刷新间隔改到 250 毫秒或 500 毫秒;暂时不关心的硬件项关掉,也能压低每次采集的开销。
两部分的运行时支持:
| 组件 | 支持的 .NET 运行时 |
|---|---|
| 桌面 GUI(LibreHardwareMonitor.Windows.Forms) | .NET Framework 4.7.2、.NET 10.0(Windows) |
| 类库(LibreHardwareMonitorLib) | .NET Framework 4.7.2、.NET Standard 2.0、.NET 8.0 / 9.0 / 10.0 |
最后说回权限:部分传感器只有拿到管理员权限才读得到,这是 Windows 平台访问底层硬件的常见限制,并非软件缺陷。桌面应用是 Windows 程序,类库则跨平台,您完全可以把它集成进自己的工具,直接拿到传感器数据。
机器烫不烫,从此一眼可见。
【免费下载链接】LibreHardwareMonitorLibre Hardware Monitor is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer.项目地址: https://gitcode.com/GitHub_Trending/li/LibreHardwareMonitor
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考