locked
Hyper-v memory demand question RRS feed

  • Question

  • I have a virtual machine running inside Hyper-V with Oracle Linux 7.2 installed and running the RedHat compatible kernel. Inside this VM I'm running an Oracle RAC 12.1.0.2 node.

    I have a database instance with memory_target set to 436M. Hugepages are disabled. When the instance is stopped the memory demand reported by Hyper-V is about 1963M, and /dev/shm is:

    tmpfs           1.0G  219M  806M  22% /dev/shm

    when starting the instance the memory demand reported by Hyper-V is about 3100M and /dev/shm is:

    tmpfs           1.0G  651M  374M  64% /dev/shm

    Why does Oracle needs about 1 GB for a total of SGA + PGA of 436M? I know there are also the Oracle processes involved here but some people claimed they have been able to run an instance in much less memory. I suspect there is something I'm missing in my configuration but also I suspect the memory demand calculation reported by Hyper-V might be wrong.

    I know this is not necessarily a Hyper-V question but I am asking here just in case someone has an idea.

    One more detail: When the memory demand is 3100+ MB this is the output in Linux of free:

    [root@node1 ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:           3015        1292         299         658        1423         904
    Swap:          4093           0        4093

    Thanks



    • Edited by Codrut Popescu Saturday, February 20, 2016 4:01 PM correction
    Saturday, February 20, 2016 12:35 PM

All replies

  • Let me rephrase the question. No matter what I run on the Hyper-V virtual machine, when the "memory demand" reported by Hyper-V is ~3100 MB but the output of free is:

    free -m
                  total        used        free      shared  buff/cache   available
    Mem:           3015        1292         299         658        1423         904
    Swap:          4093           0        4093

    Which one is correct?

    Monday, February 22, 2016 1:08 PM
  • The free command will not show the results of the balloon driver buffering memory and returning it to Hyper-V. As a result, the memory used with be reported at the high water mark, but the actual amount of memory allocated will be reported correctly on the host in Powershell or Hyper-V Manager. If memory demand increases, the balloon driver will get more memory from Hyper-V and release those buffers for use in the VM.


    Joshua R. Poulson, Program Manager, Microsoft Open Source Technology Center

    Friday, March 25, 2016 1:05 AM