proc_buddyinfo

proc_buddyinfo(5) File Formats Manual proc_buddyinfo(5)

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)

Linux man-pages 6.9.1 2024-05-02 proc_buddyinfo(5)