[PATCH] proc.5: Adding /proc/buddyinfo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch adds a short description about the contents of
/proc/buddyinfo and how this file can be used to assist
in checking for memory fragmentation issues.

Signed-off-by: Elie De Brauwer <eliedebrauwer@xxxxxxxxx>
---
 man5/proc.5 | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/man5/proc.5 b/man5/proc.5
index 337f6b6..777611a 100644
--- a/man5/proc.5
+++ b/man5/proc.5
@@ -1825,6 +1825,45 @@ Advanced power management version and battery information when
 .B CONFIG_APM
 is defined at kernel compilation time.
 .TP
+.I /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:
+.IR "(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 a x86_64 system:
+.in +4n
+.nf
+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
+.fi
+.in
+
+In this example there is one node containing three zones and there
+are 11 different chunk sizes.
+If the page size is 4 kilobyte, then the first zone called
+.I DMA
+(on x86 the first 16 megabyte of memory) has 1 chunk of 4 kilobyte
+(order 0) available and has 3 chunks of 4 megabyte (order 10) available.
+
+If the memory is heavily fragmentated, 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
+.IR /proc/zoneinfo .
+.TP
 .I /proc/bus
 Contains subdirectories for installed busses.
 .TP
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux