Hi I have a Windows 7 x64 host and a Windows 7 x64 guest. Occasionally on the host I will switch over to the active windowed guest and there will be just violent disk activity and the guest freezes for a minute or more during that time. Using Windows' Resource Monitor on the host I was able to determine the only file being accessed and related to the rapid IO is a vmem file for the guest and it's being accessed by vmware-vmx.exe. The guest is not in sleep mode, I can see the windows in the guest and they just freeze with an occasional jittery update.
I fit all the RAM guests need into the host RAM so there's no paging there and also paging is disabled on the host.
Edit > Preferences > Memory > Fit all virtual machine memory into reserved host RAM
Despite doing that I just can't seem to stop the occasional freezes from happening. So far I've only noticed it with just the one guest but that may be because that's the one I'm using a lot recently.
So why is there all the I/O to the vmem file when the guest hasn't been interacted with for a while? Has anyone else noticed something similar or do you have any advice for me? It's becoming very annoying.
Thanks
As you have no pagefile your host writes the guests RAM into the vmem when ever the guest is idle for a while - so high activity when the guest gets busy again is to be expected.
Very likely your guest also is configured with a lot of RAM and you have not set mainmem.useNamedFile = "false"
To improve performance you can
- reduce the amount of RAM of the guest when you insist on using no pagefile
- add a pagefile and set mainmem.useNamedFile = "false"
It would help to see a vmware.log
Forgot to mention - do not use very large growing vmdks - that also adds to the problems you see
Hi continuum,
I have guests configured to fit their virtual machines into the host RAM (prefvmx.minVmMemPct = "100") so shouldn't the guest memory just stay in host RAM?
You are right, I do not have mainmem.useNamedFile set false. What happens if I set that with my pagefile is disabled?
The guest uses 4GB of the host's 16GB of RAM. Is there any way to completely stop it from paging out to a vmem file? Also what do you think of setting sched.mem.pshare.enable to false?
Thanks
I encounter the same horrible hang and disk activity.
I tried adding following to vmx file, as described in other help page.
MemTrimRate = "0"
mainMem.useNamedFile= "FALSE"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"
mainmem.backing = "swap"
isolation.tools.unity.disable = "TRUE"
In fact, the solution does not work at all. The guess Windows XP still hangs ocassionally with huge disk activity for a few minutes. Sometimes, application in guess OS crashes as well.
If I don't wait for the hang and "power off" the guess, disk activity stops. So, I believe it's VMWare bug.
This bug is there for several versions of VMWare. If it's not fixed, I think I better try other VM software.
Hi raybk,
Which help page are you talking about? I found this one which seems relevant to our problem:
VMware KB: Troubleshooting hosted disk I/O performance problems
It says that the vmware authd must be restarted. Did you restart your computer after applying the settings?
So far I've added:
sched.mem.pshare.enable = "FALSE"
mainMem.useNamedFile = "FALSE"
I'm going to add prefvmx.useRecommendedLockedMemSize = "TRUE" as well. I haven't rebooted my host yet.
I noticed on one of Ulli's help pages he notes regarding mainmem.useNamedFile:
Obviously the best performance for a single VM will be achieved by storing the *.vmem file in real RAM but due to rests of old code inside WS and Player the max amount of virtual RAM that can really be allocated in real RAM is 1600 Mbs.
So a VM configured with lets say 3 dims a 512 MB = 1536 MB should have the most responsive RAM possible with WS. Taskmanager should show about 1600 mbs of RAM-usage for the process vmware-vmx.exe.
If you assign more then 1600 the RAM-usage drops down to lower values
To run many VMs use "TRUE" - which is set by default
I wonder if that RAM limit still applies in Workstation 9?
As for MemTrimRate = 0 that actually looks like something I might not want because MemTrimRate is the preference that allows checking to see what RAM isn't allocated in the guest and lets the host use it. I like the idea of freeing some unused allocations on the host just as long vmware doesn't page something out to disk as a result.
Hi quiettime,
The help page is the one you mentioned.
Yes, I restarted vmware authd and my computer, and the problem still exists.
Maybe I can try removing MemTrimRate = 0.
i had same problems for the longest time....
and just could not figure it out ..
until i spent a few minutes with Task Manager opened, waiting for the Guest to idle..
and noticed WinSAT popping up right before every freeze ...
1. Disable WinSAT in Task Scheduler.
2. Under Power Options > Advanced Settings:
FYI: make above changes to Guest... although i, personally, also implement on Host.
WinSAT is only required when new hardware is installed.. at which point you can re-enable for retesting for a more accurate WEI score.
cheers