利用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(兆字节)和秒。日志输出格式已调整为简体中文,包含关键系统指标的综合信息。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐