vsphere powercli命令以百分比形式检查cpu和内存利用率

时间:2019-04-01 06:06:51

标签: powercli

如何获得以主机百分比表示的CPU使用率和内存使用率?

Get-VMHost | Export-Csv "C:\checks.csv"

这给了我Mhz的输出

Get-VMHost | Export-Csv "C:\checks.csv"

1 个答案:

答案 0 :(得分:0)

您需要几个PowerShell技巧才能执行该任务。

首先,计算属性。 Get-VMHost没有包含CPU或内存使用百分比的现有属性。但是,它确实包含了用法和总金额,我们可以用来创建百分比。为了显示它,我们将使用所谓的计算属性,该属性将允许我们以哈希表的形式创建自定义属性,并在运行时执行该计算。

示例:@{Name = 'CpuUsage'; Expression = {$_.CpuUsageMhz / $_.CpuTotalMhz}}

第二,我们需要将计算出的值转换为更易于理解的值。我们可以使用ToString方法中的格式说明符。

示例:@{Name = 'CpuUsage'; Expression = {($_.CpuUsageMhz / $_.CpuTotalMhz).ToString("P")}}

最后,您的代码应类似于以下内容:

Get-VMHost | select Name, ConnectionState, PowerState, @{Name = 'CpuUsage'; Expression = {($_.CpuUsageMhz / $_.CpuTotalMhz).ToString("P")}}, @{Name = 'MemoryUsage'; Expression = {($_.MemoryUsageGB / $_.MemoryTotalGB).ToString("P")}}, Version | Export-Csv "C:\checks.csv"