Provided by: manpages_6.9.1-1_all bug

NAME

       /proc/buddyinfo - memory fragmentation

DESCRIPTION

       /proc/buddyinfo
              This  file  contains  information which is used for diagnosing memory fragmentation
              issues.  Each line starts with the identification of the node and the name  of  the
              zone  which  together identify a memory region.  This is then followed by the count
              of available chunks of a certain order in which these zones are split.  The size in
              bytes of a certain order is given by the formula:

                  (2^order) * PAGE_SIZE

              The  binary  buddy  allocator algorithm inside the kernel will split one chunk into
              two chunks of a smaller order (thus with half the size) or combine  two  contiguous
              chunks  into  one  larger  chunk  of  a higher order (thus with double the size) to
              satisfy allocation requests and to counter memory fragmentation.  The order matches
              the column number, when starting to count at zero.

              For example on an x86-64 system:
         Node 0, zone     DMA     1    1    1    0    2    1    1    0    1    1    3
         Node 0, zone   DMA32    65   47    4   81   52   28   13   10    5    1  404
         Node 0, zone  Normal   216   55  189  101   84   38   37   27    5    3  587

              In  this  example,  there  is  one  node  containing  three  zones and there are 11
              different chunk sizes.  If the page size is 4 kilobytes, then the first zone called
              DMA  (on  x86 the first 16 megabyte of memory) has 1 chunk of 4 kilobytes (order 0)
              available and has 3 chunks of 4 megabytes (order 10) available.

              If the memory is heavily fragmented, the counters for higher order chunks  will  be
              zero and allocation of large contiguous areas will fail.

              Further information about the zones can be found in /proc/zoneinfo.

SEE ALSO

       proc(5)