VMware Communities
noddy4711
Contributor
Contributor

Memory swapping for proccess vmware-vmx.exe after update to 7.1

After I've done the update from Workstation 7.0 to 7.1 I recognize very low speed of my system if I run a VM with 2GB of main memory.

The same VM was executed under 7.0 at normal speed. I looked for the reason and found that the process vmware-vmx.exe is swapped out.

The process with WS7.0 installed used about 2.3 GB of main memory and wasn't swapped.

My host system is:

- Windows XP SP3 (32Bit)

- Pentium D 3.2GHz

- 4GB memory (PAE and 3GB switch in boot.ini)

- 1TB HDD space

The process from WS7.1 is nearly getting the same amount of memory as under WS7.0 during start off the VM, but a few seconds later the memory is decreased.

(I looked at the task-manager.)

I reduced the memory for the VM to 1.5GB. Than everything is fine. The process vmware-vmx.exe is using 1.75GB main memory without swapping.

The VM needs 2GB to run smooth.

What can I do to solve this?

Reply
0 Kudos
7 Replies
jessepool
VMware Employee
VMware Employee

Hi noddy4711. Can you try the following config option?

mainMem.vaCacheSize = "1400"

If you have never modified a .vmx config options before:

- Power-off the VM (this is very important).

- Make a backup of your .vmx file (if you really want to be safe, make a backup of the entire VM).

- Open the .vmx with a text exitor.

- Place the above config option on a new line by itself.

- Save the .vmx file.

- Power-on the VM again.

Can you comment on the workload you're running in the VM? Also, please upload a vmware.log file.

noddy4711
Contributor
Contributor

Hi jessepool,

I did a few tests with the memory size and the mentioned option "mainMem.vaCacheSize" (see attached Word document).

I increased the value of mainMem.vaCacheSize to 2700 in the last test. It seems that this setting solved my problem.

Which value for mainMem.vaCacheSize is recommended in conjunction with the memsize value?

Thanks & Regards

noddy4711

Reply
0 Kudos
jessepool
VMware Employee
VMware Employee

Hi noddy4711. -- Thanks for the detailed notes! This is very helpful.

I have a question though: You're using 32-bit Windows. Are you also setting the /3GB startup switch in boot.ini? -- Based on your results I suspect the answer is yes, but we don't log this info in release builds so want to make sure.

Reply
0 Kudos
noddy4711
Contributor
Contributor

Hi jessepool,

yes, my host system is WindowsXP Pro (32 Bit), 4GB Main memory, PAE- and 3G-Switch set in the boot.ini

[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(2)\windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\windows="Microsoft Windows XP Pro (PAE & 3GB -Swith)" /pae /3GB /noexecute=optin /fastdetect
Reply
0 Kudos
jessepool
VMware Employee
VMware Employee

Thanks again noddy4711. Your results make perfect sense given that /3GB is set. When I asked you to set vaCacheSize to 1400, I was assuming that you were using the default 2GB. Sorry for the confusion.

We reduced the mainMem.vaCacheSize default between 7.0 and 7.1 because our 3D emulation may require more memory in some configurations (D3D may require lots of free unfragmented address space).

Can you let me know if setting mainMem.vaCacheSize = "2000" is enough? I'll consider slightly bumping the default for the next dot release.

A few more points to keep in mind,

- The mainMem.vaCacheSize is an internal config option. It's not guaranteed to work across different versions. (It will either have the same behaviour, or will do nothing at all.)

- I suggest removing this config option when you upgrade Workstation.

- I suggest using mainMem.vaCacheSize = "2300", which was the default in WS 7.0 with the /3GB switch.

- Do not add this config option to the host settings (only add it to a specific .vmx file for the VMs your interested in).

- Setting this option too high, may cause the VM to exit unexpectedly with an out-of-memory error. You may want to disable 3D in the guest if that happens, or reduce mainMem.vaCacheSize.

- The cache size can never be larger than the available address space size (usually 2GB on Windows, and 3GB in your case), but usually needs to be a few hundred MBs less than than that.

Lastly, all of these issues will go away if you use a 64-bit host OS. In that case we have plenty of address space, so the size of the cache isn't an issue. Consider upgrading your host if you plan to run large memory VMs.

I hope that's helpful and thanks for the interesting data.

noddy4711
Contributor
Contributor

Thanks jessepool.

I did a test with vacachesize = 2300. The memory isn't swapped. (See attached screenshot vmware-vmx_mem_usage_cachesize_2300.jpg)

Ok, I placed an order for a new computer with Windows 7 Ultimate (64 Bit) a few days ago.

  • Dell Precision T3500

  • Windows® 7 Ultimate (64Bit OS)

  • Prozessor: One Intel® Xeon® X5670(2.93GHz,6.4GT/s,12MB,6C)-Memory runs at 1333MHz

  • Memory: 24GB DDR3 1333MHz ECC

  • Graphic card: 1GB Nvidia Quadro FX3800 - 2 DP

  • 2 x 1.5TB HDD

I hope that these technical data of the new host system is solving my problems.

By the way,

I've disabled the option "Accelerate 3D graghics" in the Virtual machine settings, because I get bad drawing results in the used 3D software "SmartPlant 3D" (see attched screen shots sp3d_modell_view_without_3D_acceleration.jpg & sp3d_modell_view_with_3D_acceleration_enabled.jpg.) if the option is enabled. The modell is only visible during zoom, pan, etc., but not in normal view. I attached also the log files for both runs.

Can you help me to solve this issue too?

Reply
0 Kudos
jessepool
VMware Employee
VMware Employee

Thanks noddy4711. I'm glad 2300 works for you.

I'm not sure what's going on with the 3D rendering though. I'll ping some of the folks who work on 3D, to see if they have any ideas.

Reply
0 Kudos