13

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.

5
  • 1
    I don't really have any suggestions other than to say we run VMware Workstation 7.x on Win7 x64 hosts without issue. We run both XP and Win7 guests and they both seem to run fine without much other than the standard windows guest tweaks. Jul 5, 2011 at 18:46
  • 1
    Maybe you've got the VMware feature that lets you swap VM ram on the host enabled? That could slow things down quite massively. Jul 5, 2011 at 18:48
  • RAM looks a bit on the low side - try upgrading to 8GB
    – Linker3000
    Jul 5, 2011 at 20:50
  • @TheWhitePhoenix - It was set to "Allow some virtual machine memory to be swapped". I have changed it to "Fit all virtual machine memory into reserved host RAM", which may have improved the situation but not fixed it entirely, sadly.
    – qid
    Jul 7, 2011 at 18:26
  • @Linker3000 - Our old desktops had only 2GB and never exhibited this behavior, and that option is not available to me in any case.
    – qid
    Jul 7, 2011 at 18:27

6 Answers 6

15

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"
1
  • 2
    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. Mar 24, 2016 at 18:28
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.

1
  • 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.
    – qid
    Jul 7, 2011 at 18:32
2

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.

1
  • I do have VMWare Tools installed, and I made sure to upgrade them to the latest version. Good try, though.
    – qid
    Jul 7, 2011 at 18:28
0

Vmware has an option to defrag virtual disk, seems to does something different to OS defrag. Worth trying...

0

Add mainmem.backing = "swap" into your .vmx file for this VM.

4
  • 2
    Looks interesting. Can you provide a reference and/or an explanation? Jun 22, 2013 at 20:37
  • "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."
    – gparyani
    Mar 26, 2014 at 22:49
  • This is already discussed with more details in @jgoeders answer, therefor this answer offers nothing new at all.
    – dufte
    Aug 22, 2016 at 8:40
  • This is for Linux hosts. May 11, 2019 at 11:16
0

I noticed performance went down when using Outlook. Apparently the Windows search index program kills performance.

If you turn off the indexer (Control Panel, Indexing Options) then you would notice a significant improvement.

1
  • Are you running VMWare? If not then the answer has nothing to do with the original question.
    – DavidPostill
    Sep 19, 2015 at 22:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .