Monthly Archives: May 2014

Virtual Desktop Optimisation Categories Explained

In my series of posts pertaining to virtual desktop optimisation, I will add a heading to each post to indicate the area which the settings change will impact. I have classified them into 4 categories.

  • User Experience
  • Resource Optimisation
  • Functionality
  • Administration

Next to each area I will indicate the impact one would expect with the set of changes.

  • no or minimal impact (-) – does not make much difference
  • positive impact (↑) – usually a preferred outcome
  • negative impact (↓) – sometimes unavoidable if the benefits in other categories outweigh the side effect

So, what do I consider in each of the 4 categories.

  1. User Experience – this is very much around the areas which will affect the feel, sight & sound. e.g. the visual effects and animations within Windows; sound quality and clarity; responsiveness of user input to expected result; video playback frame rate.
  2. Resource Optimisation – here we look at impacts to key resources consumption such as, Processor, Memory, Disk I/O Rate, Network I/O Rate. Other metrics also to be considered (but not limited to) includes, Disk Space Consumption & GPU Demands. This category will have an impact to overall consolidation ratio.
  3. Functionality – these settings have an impact to some functionalities which may be required in some environments; e.g. Windows Search service in Windows 7. These can include native Windows capability, or VMware View functionality.
  4. Administration – these will be areas which have an impact to the operational effectiveness of a Virtual Desktop administrator. It may be changes which reduces overhead in managing virtual desktop environments, or areas of potential pitfalls which can be proactively avoided.

Virtual Desktop Optimisation – Disabling Device Hotplug

Optimisation Type [explain] : user experience (-) / resource optimisation (-) / functionality (-) / administration (↑)

I have seen situations where virtual desktops oddly lose network connectivity. After some investigation, it was found that the NIC for the virtual desktop had disappeared. The root cause was determined to be an accidental eject of the virtual NIC by the user.


See the image capture from a Windows 7 virtual desktop, there are several virtual hardware that can be “safely removed”. As you can imagine, removing any of these will likely have an undesirable effect. If it so happens, the recovery is not as simple as a linked clone refresh nor recompose. You can either manually add the device back by editing the virtual machine, or for stateless desktops, easily delete the virtual desktop and let View recreate a new one.

Now, rather than leave it to chance and having to recover later, what we can do is to proactively disable these hardware to be “removable”. This is done by manually adding a VMX entry for the virtual desktop devices.hotplug=false. More details can be found at this VMware KB article, This will disable virtual hardware to be hot pluggable to the virtual machine; such as vCPU/RAM hot add. The VMX entry can be applied to the parent virtual machine, and then the linked clones be created or recomposed. Once in place, Windows will not show these devices to be removable.

You may wonder, now what happens to USB redirection? How does it affect USB devices that are redirected from a View client? Do those devices also become non-removable? The answer is that they remain unaffected by the VMX change. Redirected USB devices continue to be hot pluggable and removable.

In conclusion, unless there is a real need to support live hot add of vCPU or RAM to a virtual desktop, the feature can be disabled for deployments. It completely eliminates any user accidents which can result in unnecessary waste of time to troubleshoot and recover.

[update 16 Jun 2014] after updating the VMX entry, ensure to boot up the VM once to ensure all changes are registered in the OS level; and I would do one more after to make sure there is no more “restart windows to apply changes” dialog box that appears. Once verified, take a snapshot. If the OS is not given a chance to recognise changes and a snapshot is captured, then all linked clones will have an annoying dialog to reboot once user logs in.