Windows 7 kills VMWare performance by disk caching?

53,374

Solution 1

See the last entry here http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008885

I have seen huge improvements to VM performance after making this change. Just make sure you have enough memory on your host.

Edit the virtual machine settings to reduce I/O usage by using more host memory:

Adding these settings to a virtual machine can reduce the I/O load on the hard disk, however these adjustments require additional memory on the host. Only add these settings if there is sufficient free memory on the host to accommodate all the memory allocated to the virtual machine, otherwise you may cause a memory starvation condition that can reduce performance of all the running virtual machines or possibly affect the host operating system. Use these settings with caution.
Open the .vmx file for the affected virtual machine while it is powered off. Add the following lines to the file using a text editor. For more information, see Editing the .vmx file of a VMware Workstation and VMware Player virtual machine (2057902)

Note: If you are using VMware Server, you may need to restart the VMware Authorization Service (vmware-authd) for changes to take effect.

MemTrimRate = "0" 
mainMem.useNamedFile = "FALSE"
sched.mem.pshare.enable = "FALSE" 
prefvmx.useRecommendedLockedMemSize = "TRUE"

Note: If you are using a Linux host, use the following entry instead of mainMem.useNamedFile = "FALSE". The mainMem.useNamedFile entry only applies to Windows Hosts.

mainmem.backing = "swap"

Solution 2

Is there a virus scanner running in Win7? Could be painfully scanning the VMDK files on the fly.

And like zippy said, vmtools do a LOT, but it shouldn't be as bad as you describe if they're not installed yet. One of the things vmtools does is balloon memory to let VMware know what's safe to page out, and to keep windows from paging out stuff that vmware is really using.

Oh, and the Windows Search 4.0 in XP can go nuts in a VM. It can mistakenly think the system is 99% idle and run indexing.

Solution 3

EDIT: Lets start with the host machine. Do you have virtualization extensions enabled in the BIOS? Do you have the latest chipset and Intel RST drivers installed? Disk caching enabled on the drive? VMware Workstation runs like any other program on top of Windows, so you want your host system to be as fast as you can make it.

Next, reduce the amount of RAM the XP VM uses and drop it to 1GB. I have had one case where allocating 2GB to a VM on a PC w/ 4GB crushed the VM and host machine. It may be that you have less usable RAM than you think.

If you have a spare T3500 install Windows XP on it + VMware Workstation and try running a VM off that (run an identical setup to your old P4 machines except for the hardware). If it runs slowly then you'll know it's something with the hardware on the T3500.

Lastly, you may want to contact VMware support. At the very least you'll be able to tell your boss you're doing everything you can to fix the issue.

Do you have VMware Tools installed inside the VM? Not having that installed will give you terrible performance and video/mouse lag.

Share:
53,374
qid
Author by

qid

Updated on September 18, 2022

Comments

  • qid
    qid over 1 year

    We're running Windows 7 Enterprise 64-bit SP1 on Dell Precision T3500's (Xeon E5630 @ 2.53GHz, 4GB of RAM). On top of this is VMWare Workstation 7.1.4, up to date. Running in a VM is Windows XP Professional 32-bit SP3. VMWare is configured to allocate 2GB of RAM for the guest.

    Performing nearly any operation inside the VM is very slow; even scrolling a text file can require seconds, with very obvious associated disk activity. A quick check of task manager and resource monitor from the Windows 7 host shows that VMWare is allocated a significant chunk of virtual memory, but I think it's all being paged out, and as soon as I start scrolling through the text file, I quickly hit something like 140 hard faults per second and stay there.

    Older versions of VMWare on far more ancient hardware (Pentium 4-vintage) running a Windows XP host never exhibited these particular symptoms. Is there some way to make Windows 7 less aggressive about paging VMWare out of memory, or is there some solution that reduces the amount of paging to disk required? It's entirely possible I simply have something misconfigured, but I haven't fiddled with a lot of settings. Any suggestions would be appreciated, thanks.

  • qid
    qid almost 13 years
    I do have VMWare Tools installed, and I made sure to upgrade them to the latest version. Good try, though.
  • qid
    qid almost 13 years
    The virus scanner is a possibility, I'll have to talk to our IT department about that. Windows Search doesn't appear to be installed, and the service is not running, so it's not that at least.
  • Scott - Слава Україні
    Scott - Слава Україні almost 11 years
    Looks interesting. Can you provide a reference and/or an explanation?
  • gparyani
    gparyani about 10 years
    "This post does not cite any references or sources. Please help improve this post by adding citations to reliable sources. Unsourced material may be challenged and removed."
  • DavidPostill
    DavidPostill over 8 years
    Are you running VMWare? If not then the answer has nothing to do with the original question.
  • Brian Gideon
    Brian Gideon about 8 years
    The mainMem.useNamedFile="FALSE" is key. Without this entry vmware will allocate a file on the host disk to hold the entire contents of the guest RAM and can continuously thrash the host's disk with the guest's RAM in some cases. In the worst case I've seen the guests be completely unusable. In the best case the guests still end up being significantly slower most of the time. I've yet to see a case where leaving this parameter enabled has actually helped performance except that it makes suspends faster.
  • dufte
    dufte over 7 years
    This is already discussed with more details in @jgoeders answer, therefor this answer offers nothing new at all.
  • Alexander Shcheblikin
    Alexander Shcheblikin almost 5 years
    This is for Linux hosts.