table of contents
other versions
- Tumbleweed 6.13-1.1
- Leap-16.0
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¶
2024-05-02 | Linux man-pages (unreleased) |