(批次)多核系统出现“ wmic cpu”问题

时间:2018-12-18 17:40:04

标签: cpu multicore wmic

我在具有2个逻辑CPU内核的虚拟机上运行“ wmic cpu get loadpercentage / every:1”命令,并且仅获得第一个内核的LoadPercentage,如您在所附的映像中看到的: Multicore Issue

如何获得“实际” CPU利用率(即2个内核的平均使用量)?

否则,我又如何单独读取第二个CPU使用情况?

谢谢

2 个答案:

答案 0 :(得分:0)

Win32_PerfFormattedData_PerfOS_Processor class

  

Win32_PerfFormattedData_PerfOS_Processor格式化的数据类   性能计数器类提供了根据性能预先计算的数据   监视处理器活动各个方面的计数器。处理器是   执行算术和逻辑运算的计算机部分   计算,启动外围设备上的操作并运行   进程线程。一台计算机可以有多个处理器。的   处理器对象将每个处理器表示为   对象。

     

该类在系统监视器中显示为Processor对象,并且   返回在系统监视器中找到的相同数据。该类派生其   来自相应原始类的原始数据   Win32_PerfRawData_PerfOS_Processor。原始数据源是   PerfOS性能库。为此动态地提供数据   WmiPerfInst提供程序从性能库对象提供的类。

在Windows cmd中:

wmic path Win32_PerfFormattedData_PerfOS_Processor where "NOT name = '_Total'" get name, PercentProcessorTime /every:1

答案 1 :(得分:0)

我回答我的问题可能很有趣,但是由于我进行了大量搜索和测试,因此我想再分享一个选择:

我使用了“ typeperf”,发现结果确实接近任务管理器的CPU利用率。

控制台的命令是:

typeperf "\Processor Information(_Total)\% Processor Utility"

或下面的一个批处理文件:

typeperf "\Processor Information(_Total)\%% Processor Utility"

不好的地方是:

1)输出格式不是很方便(例如“ 01/29/2019 21:24:26.000”,“ 8.650791”)

2)如果CPU利用率为100%,则输出为> 100(基本上〜120)

3)如果CPU利用率为1-2%,则输出为〜0.5(基本上为<1.5)