from small one page howto to huge articles all in one place
Last additions:
May 25th. 2007:
April, 26th. 2006:
|
You are here: manpages
proc_buddyinfo
Section: File Formats (5) Updated: 202-0-08 Index
Return to Main Contents
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[ha]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 x8-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)
Index
- NAME
-
- DESCRIPTION
-
- SEE ALSO
-
|