Virtualizing Citrix Servers with VMware

A post from

I recently had the job of getting better performance out of some Citrix servers that had been virtualized. Here are my notes.

I googled around and found the references listed below for my implementation.

Here is the info on the work done so far.

Moved the VM’s from 4 vCPU’s to 2 vCPU’s.  I would like to go to 1 vCPU, but the Window’s HAL is already set to Multiproc and converting it would be a pain.

Uninstalled VMtools and reinstall without the Memory Ballooning Driver.  This was done to eliminate memory ballooning which takes memory away from the VM.

Create a secondary vHDD (vmdk) and then added it to Windows as another drive (p:).  Then moved the page file to expand on the new disk.

Implemented Microsoft KB312362 to increase Paged Memory Usage as per Citrix tech support.

Moved from the BUSLogic SCSI driver to the LSILogic SCSI driver.  The LSIlogic driver is recommended because it is faster.

Added a VMware advanced option on the VM to disable memory sharing with other VM’s on the system.  The option is:**

sched.mem.pshare.enable = “FALSE”

Future Considerations:

I would like to add the following program to the servers:



The User Profile Hive Cleanup service helps to ensure user sessions are completely terminated when a user logs off.**

Eventually we would like to build a VM with the following specs.  This is the recommended build of a VMware/Citrix server.  Then we would deploy multiples of this type of template depending on how many users needed. * The idea is to scale out not up.*

VMware/Citrix VM Template Image

1 vCPU


3 Hard Drives

C: = Only the Operating System

D: = Only Programs Files

P: = Page File

Long Term Solution:

The long term solution may be to look at a Virtual Desktop solution and get rid of Citrix.  The product VMware View comes to mind when thinking about this.



[update] Removed one Ref link because they changed it to a spam link.

bleak theme by Jack Preston