E.2. Top-level Files within the proc File System
Below is a list of some of the more useful virtual files in the top-level of the
/proc/
directory.
Note
In most cases, the content of the files listed in this section are not the same as those installed on your machine. This is because much of the information is specific to the hardware on which Red Hat Enterprise Linux is running for this documentation effort.
E.2.1. /proc/buddyinfo
The
/proc/buddyinfo
file is used primarily for diagnosing memory fragmentation issues. The output depends on the memory layout used, which is architecture specific. The following is an example from a 32-bit system:
Node 0, zone DMA 90 6 2 1 1 ... Node 0, zone Normal 1650 310 5 0 0 ... Node 0, zone HighMem 2 0 0 1 1 ...
Using the buddy algorithm, each column represents the number of memory pages of a certain order, a certain size, that are available at any given time. In the example above, for zone DMA, there are 90 of 20*PAGE_SIZE bytes large chunks of memory. Similarly, there are 6 of 21*PAGE_SIZE chunks and 2 of 22*PAGE_SIZE chunks of memory available.
The
DMA
row references the first 16 MB of memory on the system, the HighMem
row references all memory greater than 896 MB on the system, and the Normal
row references the memory in between.
On a 64-bit system, the output might look as follows:
Node 0, zone DMA 0 3 1 2 4 3 1 2 3 3 1 Node 0, zone DMA32 295 25850 7065 1645 835 220 78 6 0 1 0 Node 0, zone Normal 3824 3359 736 159 31 3 1 1 1 1 0The
DMA
row references the first 16 MB of memory on the system, the DMA32
row references all memory allocated for devices that cannot address memory greater than 4 GB, and the Normal
row references all memory above the DMA32
allocation, which includes all memory above 4 GB on the system.