您的位置:首页 >C# WMI获取CPU内存使用率方法
发布于2026-02-04 阅读(0)
扫一扫,手机访问
应优先使用Win32_PerfFormattedData_PerfOS_Processor获取CPU使用率,因其提供已格式化的PercentProcessorTime;内存则用Win32_PerfFormattedData_PerfOS_Memory的AvailableMBytes与CommitLimit计算,更准确反映系统压力。

Win32_Processor的LoadPercentage不是实时值直接读取Win32_Processor.LoadPercentage在多数Windows系统上返回的是0或无效值,因为该属性默认被禁用,需先启用性能计数器或改用更可靠的指标。真实场景中应优先使用Win32_PerfFormattedData_PerfOS_Processor类——它提供已格式化的百分比数据,无需手动计算。
"SELECT Name, PercentProcessorTime FROM Win32_PerfFormattedData_PerfOS_Processor WHERE Name='_Total'"Name='_Total'汇总所有逻辑处理器,避免遍历多个CPU0、CPU1再平均ManagementObjectSearcher实例,避免频繁创建Win32_OperatingSystem的FreePhysicalMemoryWin32_OperatingSystem.FreePhysicalMemory单位是KB,且不包含缓存/备用内存,直接用它算“已用率”会严重高估实际压力。Windows内存管理依赖Standby和Modified列表,真正关键的是Win32_PerfFormattedData_PerfOS_Memory中的AvailableMBytes与CommitLimit组合。
"SELECT AvailableMBytes, CommitLimit FROM Win32_PerfFormattedData_PerfOS_Memory"(CommitLimit - AvailableMBytes) / CommitLimit * 100,这更贴近任务管理器显示逻辑AvailableMBytes含Standby内存,可被快速重用;而FreePhysicalMemory几乎总是极小,无参考价值Win32_ComputerSystem查TotalPhysicalMemory并配合Win32_OperatingSystem的FreePhysicalMemory粗略估算本地管理员权限不是必须的,但普通用户常因WMI命名空间访问被拒或性能计数器未初始化而失败。错误信息如"Access denied"、"Invalid namespace"、"Not found"都指向配置而非代码缺陷。
services.msc中确认Windows Management Instrumentation状态为“正在运行”Get-WmiObject -Namespace "root\CIMV2" -Class "__NAMESPACE" | Where-Object Name -eq "PerfFormattedData""The RPC server is unavailable",大概率是防火墙拦截了WMI端口(TCP 135 + 动态端口),非远程场景可忽略System.Management需额外安装NuGet包System.Management(v6.0.0+),旧版Microsoft.Management.Infrastructure不兼容传统WQL查询PerformanceCounter更轻量、更稳定如果只需CPU/内存基础指标,System.Diagnostics.PerformanceCounter比WMI启动快、资源占用低、权限要求松,且数据源完全一致(底层都读PerfMon)。尤其适合后台服务或托盘程序。
new PerformanceCounter("Processor", "% Processor Time", "_Total"),调用NextValue()前需Thread.Sleep(1000)确保首次有效new PerformanceCounter("Memory", "Available MBytes"),再用TotalPhysicalMemory计算使用率NextValue()常返回0.0,必须两次采样间隔至少1秒才准;不要在构造后立刻读值Dispose()或用using,否则计数器句柄泄漏会导致后续查询变慢甚至失败WMI路径深、权限杂、返回值含义容易误解,真正在意准确性和响应速度时,PerformanceCounter才是更务实的选择。但若需同时查磁盘型号、BIOS版本等硬件信息,WMI仍是不可替代的入口。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9