I might mention that before I came up with the solution, I switched to VMware Workstation 6.0 (trial) and tried few settings in VMware configuration that can be set in .vmx file. One of the most useful option is setting which processors can be used for the virtual machine. I set them so that one VM run on CPU0 and another on CPU1. I still use this configuration. LH1.vmx: processor0.use = TRUE processor1.use = FALSE LH2.vmx: processor0.use = FALSE processor1.use = TRUE Few other settings I tried: MemTrimRate = "0" sched.mem.pshare.enable = "FALSE" Here is some info about memory trimming and page sharing from http://www.virtualization.info/2005/11/how-to-improve-disk-io-performances.html: # Memory trimming Workstation checks which part of the guest OS virtual memory is not used and allocates it back to the host OS. This permits to have more concurrent virtual machines running but everytime the guest OS asks back for its memory it suffers a performance degradation. So, if you have enough free RAM for all planned concurrent VMs, be sure to disable memory trimming for guest OSes adding the following line to the virtual machine configuration (.vmx) file: MemTrimRate=0 Note: Memory trimming can be disabled through GUI since Workstation 6.0. # Page sharing (quoted from VMware documentation) VMware uses a page sharing technique to allow guest memory pages with identical contents to be stored as a single copy-on-write page. Page sharing decreases host memory usage, but consumes system resources, potentially including I/O bandwidth. You may want to avoid this overhead for guests for which host memory is plentiful and I/O latency is important. To disable page sharing, add the following line to the virtual machine configuration (.vmx) file: sched.mem.pshare.enable=FALSE option I also tried to play with monitor.idleLoopSpinUS but couldn’t see any improvements. http://www.oracloid.com/2007/10/crs-eating-cpu-on-vmware/#more-61