Linux 有一个平均负载的概念,其定义为:
系统负载平均值是处于可运行或不可中断状态的进程的平均数量。处于可运行状态的进程要么正在使用 CPU,要么正在等待使用 CPU。处于不可中断状态的进程正在等待某些 I/O 访问,例如等待磁盘。平均值是在三个时间间隔内取的。负载平均值并未根据系统中的 CPU 数量进行标准化,因此负载平均值为 1 表示单 CPU 系统始终处于加载状态,而在 4 CPU 系统上则表示 75% 的时间处于空闲状态。
通过 WMI 可获得的最接近的等效物是什么?从根本上讲,这两个操作系统之间是否存在差异,从而决定了应如何衡量此类性能指标?差异是什么?
答案1
Process Queue Length
来自性能计数器对象的计数是System
:
处理器队列长度是处理器队列中的线程数[...]
此值在 WMI 中可通过以下方式获取Win32_PerfFormattedData_PerfOS_System
。
答案2
我不知道有任何这样的总体工作需求衡量标准,它只是 CPU 百分比,并细分了所需 CPU 的类型。这确实很难确定一台机器的过载程度。当 Linux 系统报告的平均负载为 63 而 Windows 系统报告的 CPU 为 100% 时……好吧,它们都在全力运行,但这几乎就是您能了解的关于 Windows 系统的全部信息。
答案3
我不确定 Windows 中是否存在等效项,也不确定如果有的话会有什么意义。从描述中我看不出进程怎么会不被包括进去,因为即使是挂起或暂停的进程也会获得 CPU 时间分配。此外,为了根据提供的定义确定任何负载概念,查看线程和可运行线程比查看 Windows 下的进程更为重要。
答案4
您可以获得瞬间使用以下命令以百分比形式显示 CPU 负载:
wmic cpu get loadpercentage
返回:
LoadPercentage
10
不幸的是,我没有看到任何时间平均值来自wmic cpu get
,那就太好了。