2017-07-09 39 views
1

我想用PowerShell读出所有内核的利用率。我试过以下命令:Win32_PerfFormattedData_PerfOS_Processor只有一个CPU支持?

(Get-WmiObject -Query "select Name, PercentProcessorTime from Win32_PerfFormattedData_PerfOS_Processor") | foreach-object { write-host "$($_.Name): $($_.PercentProcessorTime)" }; 

但这只返回cpu0逻辑核心的利用率。我还没有找到一种方法来为系统中的第二个处理器获取它。有人为它提供解决方案吗?

在我的例子中,我有两个Intel 7200逻辑核心的Intel Xeon E5-2697 v4。任务管理器以正确的利用率显示所有内核,但上述命令仅返回36.我附加了一张只显示36个内核的图像perfmon image

+0

你不需要在foreach循环中迭代它。直接选择相应的属性值。 'Get-WmiObject Win32_PerfFormattedData_PerfOS_Processor |选择PSComputerName,Name,PercentProcessorTime' –

回答

0

无需迭代

Get-WmiObject Win32_PerfFormattedData_PerfOS_Processor | select PSComputerName,Name,PercentProcessorTime 

应该工作。

+0

与我的问题无关,但谢谢。 –