在VMware群集中查找所有具有膨胀或交换内存的虚拟机?

如果我要查看vSphere群集或资源池并查看某个级别的内存膨胀或交换,如何确定哪些虚拟机受到影响? 我知道如果他们find他们,他们该怎么办:)

在下面的例子中,资源池中有65个虚拟机。 只有32千兆字节的气球RAM。 如何识别哪些虚拟机有一部分内存膨胀或交换?

在这里输入图像描述


更新:

我最终使用以下PowerCLI代码进行此过程:

$myCol = @() foreach($vm in (Get-View -ViewType VirtualMachine | Where-Object ` {$_.Summary.QuickStats.BalloonedMemory -ne "0"})){ $Details = "" | Select-Object VM, ` SwappedMemory ,BalloonedMemory $Details.VM = $vm.Name $Details.SwappedMemory = $vm.Summary.QuickStats.SwappedMemory $Details.BalloonedMemory = $vm.Summary.QuickStats.BalloonedMemory $myCol += $Details } $myCol 

由于具有以下function的40多台虚拟机:

 VM SwappedMemory BalloonedMemory -- ------------- --------------- pr0n-web2v (347f9... 161 2391 actc1sql05v (6ac2f728-1... 682 9673 PSYC1DM05V (af21cd7a-a7... 892 5324 hemp-al304v (af3e9171-... 8 6580 . . . 

Powercli非常适合这样的事情:

Get-VM | 其中{$ _。BalloonedMemory -ne'0'}

加载更多的例子在这里:

http://www.getshifting.com/wiki/powerclinotes

特别看看“虚拟机与气球和交换” http://www.getshifting.com/wiki/powerclinotes#resource_pools_with_ballooning_and_swapping

从上面的链接复制:

 $myCol = @() foreach($vm in (Get-View -ViewType VirtualMachine | Where-Object ` {$_.Summary.QuickStats.BalloonedMemory -ne "0"})){ $Details = "" | Select-Object VM, ` SwappedMemory ,BalloonedMemory $Details.VM = $vm.Name $Details.SwappedMemory = $vm.Summary.QuickStats.SwappedMemory $Details.BalloonedMemory = $vm.Summary.QuickStats.BalloonedMemory $myCol += $Details } $myCol 

希望这会有一点帮助。

对不起,很快,所以你会想在这个信息输出,以及资源(主机,数据存储,集群)分组做的额外sorting,我跑了整个vCenter。

 #!/bin/env python __author__ = 'dladner' import os import sys import pysphere from pysphere import VIServer, MORTypes from pysphere.resources import VimService_services as VI s = VIServer() s.connect("vcenter_hostname_or_ip", "username", "password") vmlist = s.get_registered_vms(status="poweredOn") count = 0 for vmpath in vmlist: pm1 = s.get_performance_manager() vm = s.get_vm_by_path(vmpath) mor = vm._mor ballooned = pm1.get_entity_statistic(mor, 77) swapped = pm1.get_entity_statistic(mor, 61) count += 1 print "VM Number %d is %s and Ballooned Memory Amount on this VM is : %s" % (count, vmpath, ballooned) print "VM Number %d is %s and Swapped Memory Amount on this VM is : %s" % (count, vmpath, swapped) print "NOTICE: This statistic refers to VMkernel swapping and not to guest OS swapping." s.disconnect() 

这将给你下面的结果,你可以按照你想要的方式从更高的膨胀/交换量更低的地方修改和sorting(+会想将KB转换为MB)

我做了修改输出(replace主机名称和气球/交换分组)

 SWAPPED: VM Number 2 is [vm11_rr] hostname and Swapped Memory Amount on this VM is : [<vm-303427:swapped(61):Swapped::107336:kiloBytes:2013-08-31 04:35:33.561569>] VM Number 9 is [vm04] hostname and Swapped Memory Amount on this VM is : [<vm-17451:swapped(61):Swapped::7896:kiloBytes:2013-08-31 04:36:25.791696>] VM Number 10 is [vm05_nq] hostname and Swapped Memory Amount on this VM is : [<vm-266882:swapped(61):Swapped::816:kiloBytes:2013-08-31 04:36:33.266692>] VM Number 11 is [vm06] hostname and Swapped Memory Amount on this VM is : [<vm-4550:swapped(61):Swapped::-1:kiloBytes:2013-08-31 04:36:40.313133>] VM Number 14 is [vm05] hostname and Swapped Memory Amount on this VM is : [<vm-158642:swapped(61):Swapped::12532:kiloBytes:2013-08-31 04:37:02.907590>] VM Number 23 is [vm07] hostname and Swapped Memory Amount on this VM is : [<vm-437276:swapped(61):Swapped::135272:kiloBytes:2013-08-31 04:38:10.633787>] VM Number 24 is [vm14_rr] hostname and Swapped Memory Amount on this VM is : [<vm-74703:swapped(61):Swapped::183436:kiloBytes:2013-08-31 04:38:17.985025>] VM Number 25 is [vm01] hostname and Swapped Memory Amount on this VM is : [<vm-156212:swapped(61):Swapped::13268:kiloBytes:2013-08-31 04:38:25.224494>] VM Number 33 is [vm14] hostname and Swapped Memory Amount on this VM is : [<vm-156661:swapped(61):Swapped::828:kiloBytes:2013-08-31 04:39:25.827377>] VM Number 39 is [vm23_rr] hostname and Swapped Memory Amount on this VM is : [<vm-391487:swapped(61):Swapped::10020:kiloBytes:2013-08-31 04:40:10.795514>] VM Number 48 is [vm15] hostname and Swapped Memory Amount on this VM is : [<vm-446333:swapped(61):Swapped::-1:kiloBytes:2013-08-31 04:41:20.224237>] VM Number 49 is [vm14_rr] hostname and Swapped Memory Amount on this VM is : [<vm-395852:swapped(61):Swapped::91664:kiloBytes:2013-08-31 04:41:27.588455>] vm number 51 is [vm03] hostname and swapped memory amount on this vm is : [<vm-47780:swapped(61):swapped::8:kilobytes:2013-08-31 04:41:43.539276>] vm number 54 is [vm29_rr] hostname and swapped memory amount on this vm is : [<vm-430048:swapped(61):swapped::1200:kilobytes:2013-08-31 04:42:07.398927>] vm number 56 is [vm03] hostname and swapped memory amount on this vm is : [<vm-45758:swapped(61):swapped::19560:kilobytes:2013-08-31 04:42:22.790720>] vm number 59 is [vm25_rr] hostname and swapped memory amount on this vm is : [<vm-267833:swapped(61):swapped::55836:kilobytes:2013-08-31 04:42:46.202327>] vm number 60 is [vm01] hostname and swapped memory amount on this vm is : [<vm-279859:swapped(61):swapped::4289160:kilobytes:2013-08-31 04:42:53.200330>] vm number 61 is [vm04] hostname and swapped memory amount on this vm is : [<vm-174860:swapped(61):swapped::26288:kilobytes:2013-08-31 04:43:01.326958>] vm number 62 is [vm25_rr] hostname and swapped memory amount on this vm is : [<vm-384185:swapped(61):swapped::8180:kilobytes:2013-08-31 04:43:09.043827>] vm number 63 is [vm12_rr] hostname and swapped memory amount on this vm is : [<vm-434605:swapped(61):swapped::25780:kilobytes:2013-08-31 04:43:16.270494>] vm number 64 is [vm01] hostname and swapped memory amount on this vm is : [<vm-372871:swapped(61):swapped::21840:kilobytes:2013-08-31 04:43:23.820811>] vm number 67 is [vm09_nq] hostname and swapped memory amount on this vm is : [<vm-184134:swapped(61):swapped::716:kilobytes:2013-08-31 04:43:46.909753>] vm number 69 is [vm31_rr] hostname and swapped memory amount on this vm is : [<vm-434653:swapped(61):swapped::148:kilobytes:2013-08-31 04:44:02.652494>] BALLOONED:: VM Number 23 is [vm07] hostname and Ballooned Memory Amount on this VM is : [<vm-437276:vmmemctl(77):Balloon::2638188:kiloBytes:2013-08-31 04:38:08.631993>] VM Number 24 is [vm14_rr] hostname and Ballooned Memory Amount on this VM is : [<vm-74703:vmmemctl(77):Balloon::1335560:kiloBytes:2013-08-31 04:38:16.188130>] VM Number 49 is [vm14_rr] hostname and Ballooned Memory Amount on this VM is : [<vm-395852:vmmemctl(77):Balloon::1249812:kiloBytes:2013-08-31 04:41:25.789048>] VM Number 56 is [vm03] hostname and Ballooned Memory Amount on this VM is : [<vm-45758:vmmemctl(77):Balloon::-1:kiloBytes:2013-08-31 04:42:20.445191>] 

如果你需要一些额外的帮助,我可以试着让它更明智,因为今天已经很晚了。

来源:

http://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.wssdk.apiref.doc_50/memory_counters.html

https://code.google.com/p/pysphere/

希望这可以帮助。

干杯。

PS不知道什么-1:千字节从API的意思。

这是一个很老的线程,但是你可以更快地把它保持在一个pipe道中,避免每个循环。 试试这个:

  get-vm | where{ $_.swappedmemory -ne '0'} | get-view | Select Name,@{Name="Swapped”;Expression={$_.summary.quickstats.swappedmemory}},@{Name="Ballooned";Expression={$_.summary.quickstats.balloonedmemory}}