C#的windowfrom使用 OpenHardwareMonitor获取CPU
·
利用OpenHardwareMonitor能实现直接读取到GPU的温度
1.在文件里面直接添加OpenHardwareMonitorLib的dll


添加完成之后会出现在引用项目里面。
之后在你的主项目里面引用到GPU的OpenHardwareMonitorLib类
以下是整理后的代码片段,转换为简体中文并调整为适合文章插入的格式:
内存使用情况监控
var memoryCounter = new PerformanceCounter("Memory", "Available MBytes");
var totalMemory = new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory / (1024 * 1024); // 转换为MB
var availableMemory = memoryCounter.NextValue();
磁盘性能监控
var diskCounter = new PerformanceCounter("PhysicalDisk", "Avg. Disk sec/Read", "_Total");
系统状态日志记录
log.Info($"当前环境系统使用状况(已使用内存: {totalMemory - availableMemory}MB,GPU 使用率: {GetGPUUsage()}%,硬盘平均读取响应时间: {diskCounter.NextValue()}秒");
SocketStatusMonitor monitor = new SocketStatusMonitor("502", 5000);
log.Info("当前panel2 图片占用资源数量: " + panel2.Controls.OfType<PictureBox>().Count());
主要实现了以下功能:
- 通过PerformanceCounter获取可用内存和总内存数据
- 监控物理磁盘的平均读取响应时间
- 记录包含内存使用量、GPU利用率和磁盘性能的系统状态日志
- 统计指定面板中PictureBox控件的数量
这段代码可用于系统资源监控和性能分析场景,所有数值单位已统一转换为MB(兆字节)和秒。日志输出格式已调整为简体中文,包含关键系统指标的综合信息。
更多推荐


所有评论(0)