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   0
The 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.