如何用PowerShell查询系统当前实际占用的CPU核心数?
查询当前实际被利用的CPU核心数量的解决方法
方法1:修正PowerShell命令(大概率是之前的命令不正确)
如果之前尝试PowerShell失败,试试这些精准的命令:
- 统计有负载的核心数量(实时采样):
(Get-Counter '\Processor(*)\% User Time').CounterSamples | Where-Object { $_.InstanceName -ne '_Total' -and $_.CookedValue -gt 0 } | Measure-Object | Select-Object -ExpandProperty Count
- 或者通过CIM查询获取活跃核心数:
Get-CimInstance Win32_PerfFormattedData_PerfOS_Processor | Where-Object { $_.Name -ne '_Total' -and $_.PercentUserTime -gt 0 } | Measure-Object | Select-Object -ExpandProperty Count
方法2:任务管理器直观查看
按下Ctrl+Shift+Esc打开任务管理器,切换到「性能」标签页,点击「CPU」,下方的核心使用率图表会逐个显示每个核心的负载状态,直接数有波动(使用率>0)的核心数量即可。
方法3:命令提示符(CMD)快速统计
打开CMD执行以下命令,一次性输出当前活跃的核心数:
typeperf "\Processor(*)\% User Time" -sc 1 | findstr /v "_Total" | findstr /v "0.000" | find /c /v ""
该命令会采样一次所有核心的用户态使用率,自动过滤无负载的核心并计数。
方法4:性能监视器详细分析
- 按
Win+R输入perfmon打开性能监视器 - 左侧选择「性能监视器」,点击工具栏的绿色加号添加计数器
- 找到「Processor」→「% User Time」,选中所有非「_Total」的实例后点击「添加」
- 观察图表中存在数值的实例,这些就是当前被利用的核心,直接计数即可。
内容的提问来源于stack exchange,提问作者Poluru Kishore Babu
相关产品推荐
相关产品推荐

