Select Your Language

Infrastructure and Management

Cloud Computing

Storage

Runtimes

Integration and Automation

  • Comments
  • Why does RHEL6 allocate a number of size-2097152 slabs on boot?

    Posted on

    With RHEL6 came a long-awaited feature called cgroups, which are used to partition system resources amongst different users, applications etc.

     

    Find out more about cgroups in Red Hat's Resource Management Guide here:

    http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/index.html

     

    In stock RHEL6, there is an amount of memory allocated to  2M slab objects (SUnreclaim in /proc/meminfo; size-2097152 in  /proc/slabinfo).  For every 1GB of system RAM, 8x2MB slabs are required to manage memory cgroups.

     

    A page_cgroup page is associated with every page descriptor; meaning that for each 1GB of physical RAM, (8) 2MB slabs are required to manage memory cgroups.

     

    If you're not using cgroups and you'd like to make use of this RAM, add the below to the kernel command line (followed by a reboot), which disables memory cgroups system-wide:

            cgroup_disable=memory
    
    snippet of code from 'include/linux/page_cgroup.h'
    --------------------------------------------------
    
    /*
    * Page Cgroup can be considered as an extended mem_map.
    * A page_cgroup page is associated with every page descriptor. The
    * page_cgroup helps us identify information about the cgroup
    * All page cgroups are allocated at boot or memory hotplug event,
    * then the page cgroup for pfn always exists.
    
    

    As a note, a feature request has been submitted to reduce the memory overhead required by memory cgroups.

    by

    points

    Responses

    Red Hat LinkedIn YouTube Facebook X, formerly Twitter

    Quick Links

    Help

    Site Info

    Related Sites

    © 2026 Red Hat