VMs running slower with more RAM? (WMWare specifically)


  1. Kaj
    Posts : 8
    Mac OS X
       #1

    VMs running slower with more RAM? (WMWare specifically)


    Hi,

    I have heard that throwing too much RAM at VM's can actually make them run slower instead of faster (let's pretend that the host has enough ram to function in this scenario).

    Who knows real data to back this up or dispute it?

    Thanks,

    Kaj
      My Computer


  2. Posts : 15,480
    Windows10
       #2

    Kaj said:
    Hi,

    I have heard that throwing too much RAM at VM's can actually make them run slower instead of faster (let's pretend that the host has enough ram to function in this scenario).

    Who knows real data to back this up or dispute it?

    Thanks,

    Kaj
    You could run into an issue if you assign so much RAM to VM that Host OS cannot function properly to run VM ie it is not the client running slowly per se but the host running slowly.

    So if host has enough RAM to run properly, then extra memory cannot slow down a vm unless a memory leak issue or some other bug.

    Basically, I always assign a VM half the real RAM and never have an issue.
      My Computer


  3. Kaj
    Posts : 8
    Mac OS X
    Thread Starter
       #3

    cereberus said:
    You could run into an issue if you assign so much RAM to VM that Host OS cannot function properly to run VM ie it is not the client running slowly per se but the host running slowly.

    So if host has enough RAM to run properly, then extra memory cannot slow down a vm unless a memory leak issue or some other bug.

    Basically, I always assign a VM half the real RAM and never have an issue.
    I have a host with 32GB of RAM. It's running 3 VM's. One with 20GB of RAM. One with 10GB. and one with 2GB!

    That's way too little left for the host, correct, like none left. There are severe issues when one of the fileserver VM's does shadowcopies almost every hour, the whole fileserver-VM almost dies (and closes connections for people connected sometimes). I'm wondering if moving the storage to SSD could probably help some but I think it's simpler than that.. like give the poor host back some RAM. The one assigned 20GB is a FilemakerPro server. Thinking 10GB should be enough for it.
      My Computer


  4. Posts : 5,478
    2004
       #4

    Kaj said:
    I have a host with 32GB of RAM. It's running 3 VM's. One with 20GB of RAM. One with 10GB. and one with 2GB!

    That's way too little left for the host, correct, like none left.
    It doesn't really work like that. With VMWare you can overcommit RAM (assign more RAM to VM's to your host has). You can also define what proportion of the RAM you assign a VM is reserved from the host. Quick Tip How to enable memory overcommitment in VMware Fusion? | virtuallyGhetto

    By default VMWare also writes RAM do disk in a .vmem file. This reduces performance (as disk is slower than RAM) and also increases disk space used by the VM. You can turn this off (unless you are using VMWare Player) which definitely improved performance for me running a Windows guest on VMWare Fusion.. VMware Performance Enhancing Tweaks (Over-the-Counter Solutions) | artykul8

    You want to balance the RAM between host and various VMs but VM need not take all of the RAM it is assigned from the host. What is your host? Windows Linux or OSX? What VMware are you using? If you are using Fusion or Workstation you can adjust this but in different ways - Workstation has a GUI, Fusion doesn't for example. With Player you can't do anything really.

    Kaj said:
    The one assigned 20GB is a FilemakerPro server. Thinking 10GB should be enough for it.
    No idea - try it. In your case though you could start by trying 16GB for example. Then even if you were reserving 100% of guest RAM from host (and disabling the .vmem) your host should still have enough to run.
      My Computer


  5. Posts : 11,247
    Windows / Linux : Arch Linux
       #5

    Hi there

    I thought the latest versions of VMware (certainly workstation) actually use DYNAMIC RAM so the amount you set in the config is the MAXIMUM the VM can use - most of the time the HOST OS will just assign what the VM needs at any particular time and is usually very much less than the maximum.

    Check also in the config that you have the hardware compatibility set to the correct value as earlier settings will not use things like DYNAMIC RAM.

    There's also a warning in the setup about what happens if you overcommit

    For example


    VMs running slower with more RAM? (WMWare specifically)-vmmem.png


    Cheers
    jimbo
      My Computer


  6. Posts : 471
    Windows 10 Pro
       #6

    Yes, it's kind of dynamic. But only to some extent. On my machine ram reserved by the VMWare guest (Linux) steadily increases as it needs more and more ram. But it's hardly ever freed again unless I close VMWare Workstation completely. Even shutting down the guest does not free the reserved ram completely.

    It's definitely recommended to leave enough ram for the host to function properly. Especially if you plan to use Linux guests since they tend to fill up ram until nothing is left. That's just how Linux ram management works.
      My Computer


  7. Posts : 490
    Windows 10 Pro
       #7

    The explanation I got from Ben Armstrong, program manager on Microsoft's virtualization team, is that virtualized ram is handled by the cpu instead of directly by the memory controller. That is what causes the performance hit on the host and the vms. The cpu simply has more to do. The more memory allocated the more work to do. I think that has improved with dynamic ram implementations by the virtualization solution providers, but that has only reduced the workload, not offloaded it from the cpu.
      My Computer


  8. Kaj
    Posts : 8
    Mac OS X
    Thread Starter
       #8

    So the reason I'm actually asking this is: the fileserver that has 10GB of ram assigned, runs shadowcopy several times per day to make sure files level backups are able to be done I guess.

    When this happens the server lags out so hard that artist that work in big files (around 3GB usually) lost their connection to the server and the file has to be recovered from local temp etc. If they don't lose their connection, EVERYTHING runs super slow all of a sudden.. for quite a while.

    on the host console I get tons [vob.scsi.device.io.latency.high] performance has deteriorated . I/O latency increased from average value of 200 microseconds to 13138 microseconds.

    followed by performance has improved.... over and over and over. (some different but similar values).
      My Computer


  9. Kaj
    Posts : 8
    Mac OS X
    Thread Starter
       #9

    I guess that might be storage issues though. Maybe that is causing the entire lag. I'd love to throw the VM's on SSD
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 14:45.
Find Us




Windows 10 Forums