首页 > 解决方案 > 如何使用powershell获取vcenter中vmhost当前消耗的cpu百分比

问题描述

如何使用 powershell 脚本获取 vCenter 中 vmhost 当前消耗的 CPU%。下面的命令没有给出我们手动检查的类似输出。

Get-Stat -Entity $command1 -Stat cpu.usagemhz.average -Realtime -MaxSamples 1

标签: virtual-machinecpuvmwarecpu-usagepowercli

解决方案


Get-Stat -Entity $myHost -Stat cpu.usage.average -Realtime -MaxSamples 1 -Instance ""

来自 VMware 的关于这个 cpu 使用性能计数器的文档:

主机上每个物理 CPU 的活跃使用 CPU,占总可用 CPU 的百分比。Active CPU 大约等于已用 CPU 与可用 CPU 的比率。

可用 CPU = 物理 CPU 数量 × 时钟频率。

100% 代表主机上的所有 CPU。例如,如果一台四 CPU 的主机正在运行具有两个 CPU 的虚拟机,并且使用率为 50%,则该主机完全使用了两个 CPU

Luc Dekens 对-Instance过滤器的解释...

如果 ESX/ESXi 服务器配备四核 CPU,将有四个实例:0、1、2 和 3。在这种情况下,实例对应于 CPU 内核中的数字位置

并且会有一个所谓的聚合,它是所有实例的平均指标。

这些实例每个都有自己的标识符,该标识符将成为返回的统计数据的一部分。聚合实例始终由空白标识符表示。

...和-MaxSamples

虽然我要求 1 个样本 (-MaxSamples 1),但 cmdlet 返回了 9 个值。-MaxSamples 参数显然只查看时间戳。它不计算返回值的数量


推荐阅读