none
Linux memory ballooning problem RRS feed

  • General discussion

  • Hi all, my customer has a MS HyperV 2012 (not R2) cluster for virtualization purposes.  Stumbled in dynamic memory allocation I just had a try, reading around about supported configurations etc. As per what i understand, for a 2012 environment the only concern is to set identical startup and maximum ram values.
    Once the vm is booted, after a while, the ram amount start to decrease, meanwhyle in terminal some "out of memory kill process" starts and the amount returns into the original max value.
    Any idea or experience about that scenario? The RHEL release is 6.4, integration services embedded.

    Tanks in advance.

    • Moved by BrianEhMVP Monday, February 3, 2014 3:42 PM
    Saturday, February 1, 2014 5:09 PM

All replies

  • The problem is that the vms doesn't keep the right memory value and the os seems to be unstable
    Monday, February 3, 2014 8:42 AM
  • Nothing, vms are standard and fresh installations of RHEL 6.4
    Monday, February 3, 2014 2:41 PM
  • Hi Brian, The one other thing to keep in mind on Server 2012 is that the value of all parameters - Startup, Minimum and Maximum should be multiples of 128 MB. Also you are correct in stating that RHEL 6.4 has ballooning only support which requires that you set the Startup memory and the Maximum memory to the same value.

    Could you describe the values that you have set for the various dynamic memory parameters? I can have this triaged internally and let you know our observations.

    Thanks,

    Abhishek Gupta, PM, Linux Integration Services

    Tuesday, February 4, 2014 10:52 PM
  • Hi all and first of all thanks for the replyes.

    @Abhishek As you wrote, i set same values for maximum and minimum values, trying min and max values of multiples of 1024. Btw, Yesterday i stated that rhel 7.0 beta has a different approach in ballooning, everything seems stable with that release.

    @Vegan, the vm request around 200/300 MB, the assigned memory initially start at the maximum value decreasing after 4 minutes after the boot than memory status turn into Warning and all the memory is then reallocated.

    I also had various kernel panic issues (once again, not yet in rhel 7 beta), solved append the instruction numa=off as kernel parameter. Does this other thing interest?


    • Edited by GreyFloyd84 Wednesday, February 5, 2014 8:44 AM
    Wednesday, February 5, 2014 8:43 AM
  • Buy more RAM for your server, if you are hard up for 300MB......


    Corsair Carbide 300R with window
    Corsair TX850V2 70A@12V
    Asus M5A99FX PRO R2.0 CFX/SLI
    AMD Phenom II 965 C3 Black Edition @ 4.0 GHz
    G.SKILL RipjawsX DDR3-2133 8 GB
    EVGA GTX 6600 Ti FTW Signature 2(Gk104 Kepler)
    Asus PA238QR IPS LED HDMI DP 1080p
    ST2000DM001 & Windows 8.1 Enterprise x64
    Microsoft Wireless Desktop 2000
    Wacom Bamboo CHT470M
    Place your rig specifics into your signature like I have, makes it 100x easier to understand!

    Hardcore Games Legendary is the Only Way to Play!


    Servers are Bl685 g7 with 64Gb Ram, i don't think this could be the issue, those are the firsts vms configured, the load is very low.
    Wednesday, February 5, 2014 2:04 PM
  • Hi Miralem, It could be that RHEL 6.4 has some issues with ballooning. I am having it checked out. In the meantime is it possible for you to add the following udev rule and see if it alleviates your problems:

    Create a file /etc/udev/rules.d/100-balloon.rules . You may use any other desired name for the file. Add the following content to the file:

                SUBSYSTEM=="memory", ACTION=="add", ATTR{state}="online"

    Also make sure that your minimum memory is at least 1GB as that is typically recommended by distributions. If you will go below distro recommendations then you may hit some of the issues you are seeing. Let me know your observations.

    Thanks,

    Abhishek

    Friday, February 7, 2014 3:14 AM
  • Hi everyone, i will at customer site in these days. Let me run some other tests, the udevs ones is really interesting. 
    Monday, February 10, 2014 8:39 AM
  • ~

    ~

    . . . , the udevs ones is really interesting. 

    ~

    ~

     But use rules by Nikolay Pushkarev :

    RHEL 6.5 / CentOS 6.5 ; RHEL 6.4 / CentOS 6.4 include support for Hyper-V drivers

    ==

    Following rule works slightly faster for me (assuming that memory0 bank always in online state):

    SUBSYSTEM=="memory", ACTION=="add", DEVPATH=="/devices/system/memory/memory[1-9]*", RUN+="/bin/cp /sys$devpath/../memory0/state /sys$devpath/state"

    And one more thing, udev solution doesn't work in 32-bit kernel architecture, only for 64-bit. Is this by design or yet another bug?

    ==

    P.S.

    And see topic

    Dynamic Memory on Linux VM


    Tuesday, February 11, 2014 11:48 AM
  • Hi all,

    sorry but due to some personal problems i wasn't able to have some tests in the past days.

    I'm trying with REHL 6.5, actually i'm having good sensations. Ballooning seems working right without any  rules, don't know if it should occour in a load situation but i'm going to release a vm for test purposes at the developer team just for a try.

    Tuesday, February 25, 2014 2:15 PM
  • ~~

    while you are at it, try another server as well

    i have noticed most Linux distributions seem to work best with the root volume as a VHD file while other storage can be mounted in a VHDX or other container and mounted as desired


    ~

     Possible reasons see in topic:

    Creating a Linux virtual machine on dynamic vhdx file creates huge file on formating

    ~

    Wednesday, February 26, 2014 6:25 AM
  • ~~

    I'm trying with RHEL 6.5, actually i'm having good sensations.
    Ballooning seems working right without any  rules,

    ~

    1) RHEL 6.4   in any key can not "hot add" "dynamic memory" in Hyper-V VM,

    because source code of kernel not contain needed functional for H-V d.m-ry

    2) RHEL 6.5 can "hot add" memory

    Z) "without rule" -- may be, but not shue

    ~





    Wednesday, February 26, 2014 7:22 AM