Please provide your feedback in this short Flings' survey.
fling logo of Virtual Machine Compute Optimizer

Virtual Machine Compute Optimizer

version 3.0.0.0 — June 17, 2021

Contributors 2

View All

Comments 75

  • profile picture of Mark McGill
  • profile picture of Jim S
  • profile picture of Mark McGill
  • profile picture of Andrew McCabe
  • profile picture of Mark McGill
  • profile picture of Andrew McCabe
  • profile picture of Mark McGill
  • profile picture of Mark McGill
View All

Summary

The Virtual Machine Computer Optimizer (VMCO) is a Powershell script and module that uses the PowerCLI module to capture information about the Hosts and VMS running in your vSphere environment, and reports back on whether the VMs are configured optimally based on the Host CPU and memory. It will flag a VM as “TRUE” if it is optimized and “FALSE” if it is not. For non-optimized VMs, a recommendation is made that will keep the same number of vCPUs currently configured, with the optimal number of virtual cores and sockets.

Note that the VMCO will not analyze whether your VMs are configured with the correct number of vCPUs based on the VM’s workload. A more in-depth analysis tool such as VMware vRealize Operations Manager can make right-sizing determinations based on workload and actual performance.

Requirements

In order to run the Virtual Machine Compute Optimizer, you will need the following:

  • Windows 7/Server 2008 or above
  • Powershell v5 or higher
  • Access to the internet. The VMCO will attempt to install or update the modules needed (PowerCLI and VMCO)
  • A user account with Read-Only rights assigned at the vCenter level with ‘Propogate to children’enabled. These rights will be needed on each vCenter that will be analyzed.

Instructions

There are a few ways you can launch a Powershell script.

Please see the PDF for full instructions in the download box.

Changelog

Version 3.0.0

  • Correcting the files included with the Fling

Version 3.0.0.5

  • Minor updates/fixes
  • 2-5-2021 v3.0.0.2 Added escape for parentheses in VM Names (ie, Tanzu VMs) so they will show up in Get-View Filters by VMName
  • 2-5-2021 v3.0.0.3 Removed requirement for VMware.PowerCLI due to error re: HorizonView module not supported in Powershell Core
  • 2-5-2021 v3.0.0.4 Modified Get-vSphereInfo so it checks the VMName type and if Object or UniversalVirtualMachineImpl it selects just the name
  • 4-30-2021 v3.0.0.5 Minor grammar corrections

Version 3.0.0

  • Script will install or update the required modules (VMCO and PowerCLI). The script is now a single script that acts as the easy button to walk through the module installs, connecting to a vCenter, and exporting the results.

Version 2.1.0

  • Fixed errors in reporting for some VMs that are on hosts with 4 sockets
  • Fixed “memory” missing from Details when VM memory spans pNUMA nodes
  • Added ability to call function with “-simple” which only reports VM info (leaves out vCenter, Cluster, and Host)

Version 2.0.4

  • Fixed errors with reporting on VMs with odd number of vCPUs
  • Fixed reporting on VMs that have CPU Hot Add enabled

Version 2.0.3

  • Fixed issues with odd number of vCPUs
  • Fixed issue with reporting on VMs with CPU Hot Add enabled
  • Updated documentation

Version 2.0.2

  • Modified Get-OptimalvCPU.ps1 to account for vCenters with no clusters
  • Modified Error Catches so they display the line number of the error

Version 2.0.1

  • Corrected Get-OptimalvCPU.ps1 where sometimes cluster information would show as System.Object[].

Version 2.0.0

  • Priority of the findings are captured
  • Details on the findings are included
  • Cluster information is captured to determine if Host HW is not consistent across the cluster
  • Report if a VM spanning pNUMA nodes actually has the pNUMA exposed to the guest OS
  • Report if advanced settings have been changed on the VM or host level to expose pNUMA to the guest OS
  • Reports if the number of vCPUs for a VM exceeds the physical cores of the host (using hyperthreads as vCPUs)
  • Ability to use the stand alone “Get-OptimalvCPU” function for more flexibility

Version 1.0.4

  • Added a -Property filter to the Get-View commands for hosts and VMs to reduce time and amount of returned data
  • Removed if statement in Get_Optimal_CPU function that included $hostCPUs as it was not yet being used

Version 1.0.3

  • Fixed calculation of # of vm cores which was incorrectly reporting on some vms

Similar Flings

No similar flings found. Check these out instead...
Feb 22, 2017
fling logo of Horizon Collector for Mac

Horizon Collector for Mac

version 1.2

Horizon Collector for Mac automates the collection and archiving of Horizon View Client logs, eliminating the need to manually identify and gather relevant log files. Horizon Collector also simplifies the process for enabling complete DEBUG logging, and can upload the logs to VMware Support for you. In addition to the application logs, this script will collect PCoIP, USB, RTAV, and ThinPrint logs. Recommended users of this script: VDI Administrators and end-users alike.

Mar 18, 2013
fling logo of vCenter 5.1 Pre-Install Check Script

vCenter 5.1 Pre-Install Check Script

version 2.0

This is a PowerShell script written to help customers validate their environment and assess if it is ready for a 5.1.x upgrade.

Feb 22, 2021
fling logo of Horizon Reach

Horizon Reach

version 1.3.1.2

Horizon Reach aims to resolve this disconnect between Cloud pods and distinct environments by discovering, monitoring and alerting on issues across your entire Horizon estate from a single UI. Horizon Reach gives alerts, usage reports, insights, etc. in a web console.

Jul 18, 2011
fling logo of CloudFS

CloudFS

version 1.0

CloudFS is a prototype replicated and distributed storage system for the VMware ESX platform. It allows VMs to run using local storage, without any single points of failure.

Aug 13, 2012
fling logo of vFabric Data Director Service Gateway for CloudFoundry

vFabric Data Director Service Gateway for CloudFoundry

version 1.0

vFabric Data Director Service Gateway for Cloud Foundry enables service providers to deliver a vFabric Postgres database-as-a-service solution based on CloudFoundry.org and vFabric Data Director.

Feb 11, 2021
fling logo of Code Stream Concourse Integrator

Code Stream Concourse Integrator

version 1.0

The Code Stream Concourse Integrator (CSCI) Fling provides integration between a vRealize Automation Code Stream and Concourse CI tools with which users can trigger Concourse CI pipelines from Code Stream pipelines without any additional tooling/scripting.

View More