Announcement

Collapse
No announcement yet.

VPC2007: Not Enough Memory Available On Host

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VPC2007: Not Enough Memory Available On Host

    I've seen numerous posts about this, but I have a feeling that there is an underlying problem with Virtual PC 2007.

    My host is a Core 2 Duo vPro at 3.16GHz and 8GB RAM running 64-bit Vista Business with hardware virtualization turned on.

    Apart from McAfee Antivirus and the usual Windows Updates, no other software has been installed on the host machine.

    I have setup 6 VM's with these guest OS's, s/w and memory:

    XP SP3 Office 2003 - 256MB
    Server 2008 - 1GB
    Vista Business SP1 Office 2007 - 1GB
    XP SP3 Visual Studio 2002 - 512MB
    XP SP3 Visual Studio 2005 - 1GB
    Windows 7 - 1GB

    However, it is not possible for me to run all 6 VM's simultaneously without VPC showing the "Not enough memory" popup.

    I did notice that VPC is actually 32-bit and running in WOW, so maybe it's limited to 4GB (minus host requirements).

    Would I be better off in this case with installing Virtual Server 2005?

    Of course, I probably could get away with not running all these VM's at once, but it just saves time when I'm working on different projects not to be waiting for them to boot.

  • #2
    Re: VPC2007: Not Enough Memory Available On Host

    You should not forget that whatever virtualization product you use, a specific amount of RAM will remain always reserved for the host OS. This amount depend on the host OS installed and the junk it runs...
    Another thing you should remember that the amount of memory you see in the Task Manager for every process is the amount that process uses at that specific time. The OS allocates more memory to every process than it uses in a specific moment. Being allocated, that memory cannot be used for anything else ... So, if you look in Task Manager and see that your Vista only uses 1GB RAM, it is not quite so.
    If you want to see the difference, take a tool like Mike Russinovich's ProcessExplorer. Run it, add to the columns (from the Process Memory tab) Working Set and Virtual Size. Look at the differences between the two.
    Anyway, you can solve the problem by using the Save State option of the virtual machines. Turn them on, log in and then turn them off and save the state. This way, you will have the machines prepared. Given your computer strength, I think it will not take too long for the saved state to be restored.

    Sorin Solomon


    In order to succeed, your desire for success should be greater than your fear of failure.
    -

    Comment


    • #3
      Re: VPC2007: Not Enough Memory Available On Host

      Thank you for the reply.

      I guess I'll just have to Save State, as you said.

      I'm just a little concerned that my 6 VM's should use 4.75GB, plus a little extra for VM overhead, but even with a very conservative estimate, I would still have over 2GB of memory free for the host OS.

      Of course, memory errors like this that I've seen before are due to a lack of GDI and USER resources, rather than main memory, but then Microsoft are well known for their ambiguous error reporting.

      At the end of the day, I could of saved myself quite a sum of money by only buying a machine with 4GB of RAM instead of 8GB, had I known that VPC 2007 has this problem.

      Oh well, it's all water under the bridge now.

      Comment


      • #4
        Re: VPC2007: Not Enough Memory Available On Host

        I would be tempted to install a 64bit OS and then use VMware.
        cheers
        Andy

        Please read this before you post:


        Quis custodiet ipsos custodes?

        Comment


        • #5
          Re: VPC2007: Not Enough Memory Available On Host

          Originally posted by AndyJG247 View Post
          I would be tempted to install a 64bit OS and then use VMware.
          The OS is 64 bit.
          VMWare will work only because it does not allocates all the needed memory a VM requires upon boot. This behavior allows one to run 4 2GB VMs on only 4GB physical RAM. But it has its drawbacks: if one of the machines will need more RAM than the virtualization product can give, the results will be highly unpleasant.
          Originally posted by TokyoBrit View Post
          had I known that VPC 2007 has this problem
          The problem is not with VirtualPC. All Microsoft virtualization solutions allocate the memory the VM needs. If that physical RAM amount is not available, the VM will not boot. This way, nor the host neither the other VMs are compromised.

          Sorin Solomon


          In order to succeed, your desire for success should be greater than your fear of failure.
          -

          Comment


          • #6
            Re: VPC2007: Not Enough Memory Available On Host

            Originally posted by sorinso View Post
            The OS is 64 bit.
            Apologies, missed that bit.
            cheers
            Andy

            Please read this before you post:


            Quis custodiet ipsos custodes?

            Comment


            • #7
              Re: VPC2007: Not Enough Memory Available On Host

              I appreciate the comments, and I've been turning this one over for a bit.

              It occured to me that while using "Save State" is fine for my various desktop projects, the main issue would be running enough Server 2008 VM's while I'm working on the new windows network architecture.

              However, while determining how many VM's I could run, I noticed that although I'm only "using" 5.12GB when running 4 VM's, I've only got 9MB of free memory.

              All thanks to Vista and it's cached physical memory.

              Now I just have to figure out how to tell the OS not to grab so much memory, as I need it to run VM's.

              Comment


              • #8
                Re: VPC2007: Not Enough Memory Available On Host

                Well, I spoke too soon.

                As a test, I disabled the Superfetch service, which left me with 2.2GB of free physical memory after starting 3 1GB VM's.

                VPC wouldn't let me start a 4th 1GB VM.

                So back to my original question... Why is VPC 2007 reporting that I don't have enough memory available on the host? What is it actually checking?

                Comment


                • #9
                  Re: VPC2007: Not Enough Memory Available On Host

                  Where did you take that 2.2GB RAM from? Task Manager? No good...
                  VirtualPC asks the OS for RAM. If it can't get any, you'll get the error message you saw.

                  Sorin Solomon


                  In order to succeed, your desire for success should be greater than your fear of failure.
                  -

                  Comment


                  • #10
                    Re: VPC2007: Not Enough Memory Available On Host

                    Unreliable reporting of memory. Most likely. But the end result is the same.

                    If I can't use VPC 2007 to run 4 x 1GB VM's on a 64-bit machine with 8GB of RAM, there's no point. And I consider it a major failure.

                    I'll unload VPC and switch to Virtual Server 2005 R2. That I know works, as I am running 6 x 1GB VM's on a server with 8GB RAM.

                    Comment


                    • #11
                      Re: VPC2007: Not Enough Memory Available On Host

                      Good luck.
                      And please keep the forum updated with the outcome...

                      Sorin Solomon


                      In order to succeed, your desire for success should be greater than your fear of failure.
                      -

                      Comment


                      • #12
                        Re: VPC2007: Not Enough Memory Available On Host

                        It's not an issue with VPC 2007, as even when using Virtual Server 2005 R2 SP1, I cannot start more than 3 1GB VM's.

                        ""Visual Studio 2005" could not be started because there is not enough physical memory or system resources available."

                        So it must be something to do with Vista as a host OS.

                        Although I disabled Superfetch, Task Manager still reports that I've cached 2.2GB of physical memory, and I don't know how to stop it from doing that.

                        It also reports that I have 1.8GB of free physical memory, but that must not be visible to the virtualization software.

                        I'll have to arrange other hardware to do my virtual Server 2008 testing.

                        Comment


                        • #13
                          Re: VPC2007: Not Enough Memory Available On Host

                          It should be noted that after running 3 Server 2008 VM's, the Physical Computer Properties page of the Virtual Server 2005 Administration site said that I had 4083MB of available physical memory.

                          This leads me to believe it's a system resource problem, and not physical memory.

                          I would really like to hear from others that have achieved better success with running multiple VM's under either VPC 2007 SP1 or VS 2005 R2 SP1, especially with regard to host OS choices.

                          Comment


                          • #14
                            Re: VPC2007: Not Enough Memory Available On Host

                            Have you checked the difference between working set and virtual memory?

                            Sorin Solomon


                            In order to succeed, your desire for success should be greater than your fear of failure.
                            -

                            Comment


                            • #15
                              Re: VPC2007: Not Enough Memory Available On Host

                              Not sure which process you need the working set of, but...

                              Clean boot. Started 3 Server 2008 VM's, couldn't start a 4th.

                              Running Reliability and Performance Monitor, using these counters:

                              Available MBytes: 3,570
                              % Committed Bytes In Use: 30.6
                              Free System Page Table Entries: 33,562,477
                              Paging File % Usage: 4.1
                              _Total Process Working Set - Private: 334,327,205
                              _Total Process Working Set: 542,974,992
                              _Total Process Virtual Bytes: 8,225,908,727

                              Nothing I see here says I am out of memory or resources, but I'm happy to try other counters.

                              Also, confirmed the VM's on another virtual server.

                              Windows 2003 R2 SP2 64-Bit, 8GB memory, running 5 1GB VM's with 2003 and 1 1GB VM with 2008, VS 2005 admin site still reports that server as having 1343 MB of free physical memory.

                              Now, I understand that Microsoft have identified Vista as a host OS, but not for production, which is fine. I'm not using it for production purposes.

                              BTW, I used BCDEDIT /Set IncreaseUserVa 3072 even though it's a 64-bit OS just in case Virtual Server was running as a 32-bit process, which would limit it's memory to 4GB.

                              And I have a feeling that is the problem. To test, I will modify the memory of my VM's to 512MB and see how many it will run.
                              Last edited by TokyoBrit; 10th February 2009, 09:43.

                              Comment

                              Working...
                              X